本文介绍了数组forEach不返回布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
关于前两个函数为什么返回未定义而不是布尔值的问题,有人可以给我一些启示吗?
Foreach没有任何返回类型,可以使用一些.如果必须使用foreach,则可以像我在 test2
const array1 = [1、2、3];const test1Result = test1();const test2Result = test2();const test3Result = test3();console.log(test1Result);console.log(test2Result);console.log(test3Result);函数test1(){返回array1.some(x => 2 === x);}函数test2(){var found = false;array1.forEach((x,index)=> {如果(2 === x){发现=真;}});发现返回}函数test3(){const也许Team = array1.find(x => 2 == x);返回(也许是团队)?真假;}
鸣谢: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Can someone give me some insight as to why the first 2 functions return undefined instead of a boolean?
https://jsfiddle.net/wjf2gr9d/
const array1 = [1, 2, 3];
const test1Result = test1();
const test2Result = test2();
const test3Result = test3();
console.log(test1Result);
console.log(test2Result);
console.log(test3Result);
function test1() {
return array1.forEach(x => 2 === x);
}
function test2() {
const found = array1.forEach((x, index) => {
if (2 === x) {
return true;
}
return false;
});
return found;
}
function test3() {
const maybeTeam = array1.find(x => 2 == x);
return (maybeTeam) ? true : false;
}
解决方案
If you check this check return value section it returns undefined.
Foreach doesn't have any return types, You can use some. If you must use foreach then you can take temp variable and change it inside foreach like I did in test2
const array1 = [1, 2, 3];
const test1Result = test1();
const test2Result = test2();
const test3Result = test3();
console.log(test1Result);
console.log(test2Result);
console.log(test3Result);
function test1() {
return array1.some(x => 2 === x);
}
function test2() {
var found = false;
array1.forEach((x, index) => {
if (2 === x) {
found = true;
}
});
return found;
}
function test3() {
const maybeTeam = array1.find(x => 2 == x);
return (maybeTeam) ? true : false;
}
Credits: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
这篇关于数组forEach不返回布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!