【发布时间】:2017-01-10 10:02:50
【问题描述】:
我需要比较 ONE 数组中的所有值 以了解它们是否都相等。 所以这很好,给了我预期的输出
var myArray1 = [50, 50, 50, 50, 50]; // all values are same, should return true
var myArray2 = [50, 50, 50, 50, 51]; // last value differs, should return false
function compare(array) {
var isSame = true;
for(var i=0; i < array.length; i++) {
isSame = array[0] === array[i] ? true : false;
}
return isSame;
}
console.log('compare 1:', compare(myArray1)); // true
console.log('compare 2:', compare(myArray2)); // false
然后我对reduce() 进行了同样的尝试,但看起来我误解了该功能。他们都说这是假的。我在做一些明显错误的事情吗?我可以使用reduce() 来获得我需要的东西吗?如果有怎么办?
var myArray1 = [50, 50, 50, 50, 50];
var myArray2 = [50, 50, 50, 50, 51];
console.log('reduce 1:', myArray1.reduce(
function(a, b){
return a === b ? true : false
}
));
console.log('reduce 2:', myArray2.reduce(
function(a, b){
return a === b ? true : false
}
));
【问题讨论】:
-
你是只看reduce,还是像filter这样的函数?
-
这不是
reduce()方法的实际用例 -
人们似乎将此解释为检查
myArray1和myArray2是否包含相同的值。 (我不知道怎么做,但到目前为止有两个人。)可能值得强调你想做的事情。 -
@T.J.Crowder 谢谢你,会更新以更清楚
标签: javascript arrays