JavaScript-如何检查输出是否具有相同的值

时间:2018-07-08 19:42:31

标签: javascript

如何检查数组是否具有相同的值?[a, a, a, a] //True [a,a,a,b]//False

3 个答案:

答案 0 :(得分:3)

创建一个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));

答案 1 :(得分:0)

您可以使用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

答案 2 :(得分:0)

您可以对Array#every采用传统方法,对每个元素和第一个元素进行检查。

const same = (a, _, [b]) => a === b;

console.log(['a', 'a', 'a', 'a'].every(same));
console.log(['a', 'a', 'a', 'b'].every(same));