我正在尝试不使用循环,因为我练习地图,过滤等等,并想知道为什么我的代码不起作用?
function checking(array,item){
var temporary=true;
array.map(function(x){
if (x!=item){
temporary=false;
}
});
return temporary;
}
checking([1, 2, 3], 2);
答案 0 :(得分:3)
为什么不使用Array#some
,它非常适合检查并返回一个布尔值。如果回调返回为true
,则最好的是短路。
function checking(array, item) {
return array.some(function (x) {
return x === item;
});
}
document.write(checking([1, 2, 3], 2));

答案 1 :(得分:0)
因为您没有检查2是否在数组中,但是您正在检查数组是否具有不同于2的值。
您应该检查是否存在例如:
let temporary=false;
array.map(function(x){
if (x==item){
temporary=true;
}