Javascript 使用map检查true或false不';行不通

Javascript 使用map检查true或false不';行不通,javascript,loops,dictionary,filter,Javascript,Loops,Dictionary,Filter,我正在尝试不使用循环,因为我正在练习映射、过滤等,我想知道为什么我的代码不起作用 function checking(array,item){ var temporary=true; array.map(function(x){ if (x!=item){ temporary=false; } }); return temporary; } checking([1, 2, 3], 2); 因为您并没有检查数组中是否有2,而是检查数组中是否有与2不同的值 你应该检查它是否在那里,例

我正在尝试不使用循环,因为我正在练习映射、过滤等,我想知道为什么我的代码不起作用

function checking(array,item){
 var temporary=true;
array.map(function(x){
if (x!=item){
    temporary=false;
}

});
return temporary;
}

checking([1, 2, 3], 2);

因为您并没有检查数组中是否有2,而是检查数组中是否有与2不同的值

你应该检查它是否在那里,例如:

let temporary=false;
array.map(function(x){
if (x==item){
    temporary=true;
}
为什么不使用它呢?它非常适合检查和返回布尔值。如果回调返回为
true
,则最好是短路

函数检查(数组,项){
返回数组.some(函数(x){
返回x==项目;
});
}

写(检查[1,2,3,2])否我会检查2是否在数组中-这正是映射函数用于检查数组元素而不是数组本身的功能。请格式化/缩进代码。为什么使用
map
而不从回调返回任何内容,也不对结果做任何处理?这就是
forEach
的语义。如果每个元素不等于输入值,为什么要将每个元素的
temporary
设置为
false
?为什么不在调试器中单步执行代码来解决问题呢?如果你正在学习
map
filter
你怎么会错过一些
呢?