_.数组中的每个查找值都返回 true 或 false.使用下划线 JS
_.each find value in array return true or false. using underscore js
//使用函数 checkValue 在数组中查找值 使用下划线 _.each.返回真,否则返回假。
var helloArr = ['bonjour', 'hello', 'hola'];
var checkValue = function(arg) {
_.each(helloArr, function(helloArr, index) {
if (arg[index] === index) {
return true;
}
return false;
});
};
alert(checkValue("hola"));
代码的问题在于,_.each
将遍历数组的所有元素并调用您传递给它的函数。您将无法就此得出结论,因为您不会从中获得任何返回的值(除非您在 _.each
之外维护状态)。
请注意,从您传递给_.each
的函数返回的值不会在任何地方使用,并且它们不会以任何方式影响程序的过程。
但是,相反,您可以将_.some
用作替代项,如下所示
var checkValue = function(arg) {
return _.some(helloArr, function(currentString) {
return arg === currentString;
});
};
但是,更好的解决方案是,_.contains
为此目的发挥作用。你可以这样使用它
var checkValue = function(arg) {
return _.contains(helloArr, arg);
};
但是,由于数组中只有字符串,因此最好的解决方案是使用 Array.prototype.indexOf
,像这样
var checkValue = function(arg) {
return helloArr.indexOf(arg) !== -1;
};
试试这个:
var helloArr = ['bonjour', 'hello', 'hola'];
var checkValue = function(arr, val) {
_(arr).each(function(value) {
if (value == val)
{return console.log(true);}
else {return console.log(false);}
});
};
console.log(checkValue(helloArr,'hello'));
/* Output
false
true
false*/
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- JavaScript-切换“;全部检查”;复选框true/false
- (false==false==true)怎么可能是真的
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 什么是'true'和'false'和'null'
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 在JavaScript中为true==1和false==0
- true==false以某种方式计算为true
- 获取Javascript中单选按钮的true或false
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 如何使函数将属性值从 FALSE 设置为 TRUE
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 在 JavaScript 中,为什么 []==false 为 true
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- Javascript 布尔值:false && true 结果为 true
- 覆盖保留字(设置 false = true)
- 为什么这个类不返回false|| true