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
你怎么会错过一些呢?