Javascript some() 方法和附加参数

标签 javascript jquery arrays

我需要检查数组中是否至少有一个元素符合条件。 条件取决于变量。

例如,我正在使用这样的东西:

function condition(previousValue, index, array) {
    return additonalValue.indexOf(previousValue) + previousValue.indexOf(additonalValue) < -1;
}

我不知道如何将“additonalValue”参数传递给 array.some(condition) 表达式。

我正在使用 jQuery,所以欢迎使用它的替代方案。

有没有办法将参数传递给 array.some() 方法?

最佳答案

如果你想将一个额外的参数传递给放置在 some 方法中的函数,你可以使用 bind

var myArray = ['a', 'b', 'c', 'd'];
var otherValue = 'e';
function someFunction(externalParameter, element, index, array) {
    console.log(externalParameter, element, index, array);
    return (element == externalParameter);
}
myArray.some(someFunction.bind(null, otherValue));

这会给你:

e a 0 ["a", "b", "c", "d"]
e b 1 ["a", "b", "c", "d"]
e c 2 ["a", "b", "c", "d"]
e d 3 ["a", "b", "c", "d"]
false

关于Javascript some() 方法和附加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999052/

相关文章:

Java 实验室 - 计算运行次数

arrays - 从 Meshgrid Matlab 创建一列数组

javascript - 如果选择了 Div - hasClass - 触发一些事件,如果没有选择 - 触发其他事件。这可以作为独立功能来实现吗?

javascript - 如何将值从 MVC ActionResult 传递到 AJAX 成功回调函数?

javascript - 使用 toLocaleString 格式化小数以显示 2 个小数和一个逗号

javascript - 几个 CSS 元素的条件

java - 即使设置了抛出 IllegalArgumentException 也更新对象

javascript - jQuery 移动嵌套列表插件错误返回

javascript - jQuery 无法在 Firefox 和 IE 中运行

jquery - 如何删除 CSS 宽度和高度并从 img 标签设置我自己的最大宽度?