基本上,我想评估数组中的所有项目。如果每个项目的类型和值相等(严格相等检查),则返回 true,否则返回 false。我在这里想念什么?- 谢谢!
function equalityChecker(arr) {
return arr.reduce((prev, curr) => {
if (prev !== curr) {
return false;
}
if (prev === curr) {
return true;
}
});
}
console.log(equalityChecker([0,0,0,0,0,0])); //returns false
console.log(equalityChecker([1,1,1,1,1,1])); //returns false
Array#reduce
返回一个值,然后您返回比较的结果。
在下一次迭代中,您使用此布尔值并检查数组中的值。
提示 1:Reduce 不适用于这种方法。
另一个缺点是迭代长度,它会循环所有元素,尽管有false
结果。
提示 2:您需要一个提前返回的方法。
结果:Array#every
将每个元素与第一项进行比较。
function equalityChecker(array) {
return array.every((value, _, [first]) => first === value);
}
console.log(equalityChecker([0, 0, 0, 0, 0, 0])); // true
console.log(equalityChecker([1, 1, 1, 1, 1, 1])); // true
console.log(equalityChecker([0, 0, 0, 1, 0, 0])); // false
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句