【发布时间】:2018-07-08 19:42:30
【问题描述】:
如何检查数组是否具有相同的值?[a, a, a, a] //True [a,a,a,b]//False
【问题讨论】:
标签: javascript
如何检查数组是否具有相同的值?[a, a, a, a] //True [a,a,a,b]//False
【问题讨论】:
标签: javascript
创建一个Set并检查大小是否为1
let arr = ['a', 'a', 'a', 'a'];
console.log(new Set(arr).size === 1);
或者使用一个很好的旧 for 循环
const arr = [1,1,1,1,2];
function allEqual(arr) {
let x = arr[0];
for (let i = 1; i < arr.length; i++) {
if (x !== arr[i]) return false;
}
return true;
}
console.log(allEqual(arr));
【讨论】:
您可以为此使用Array#every:
let a = [1,1,1,1,1]
let b = [1,1,1,1,2]
console.log(a.every(v => v === a[0])) // true
console.log(b.every(v => v === b[0])) // false
【讨论】:
您可以采用传统方法 Array#every 并检查每个元素和第一个元素。
const same = (a, _, [b]) => a === b;
console.log(['a', 'a', 'a', 'a'].every(same));
console.log(['a', 'a', 'a', 'b'].every(same));
【讨论】: