📌  相关文章
📜  如何在 JavaScript 中检查数组的所有值是否相等?(1)

📅  最后修改于: 2023-12-03 15:24:13.186000             🧑  作者: Mango

如何在 JavaScript 中检查数组的所有值是否相等?

在 JavaScript 中,有时候需要检查一个数组的所有值是否相等,这个问题并不是很难,可以使用一些内置方法来实现。接下来我们将介绍两种方法来检查数组的所有值是否相等。

方法一:使用循环

一种基本的方法是使用循环遍历数组中的每一个元素,并比较它们是否相等。

function checkArrayEqual(arr) {
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] !== arr[0]) {
      return false;
    }
  }
  return true;
}

上面的函数接受一个数组作为参数,并使用 for 循环从第二个元素开始遍历数组,比较它们是否和第一个元素相等。如果有任何元素与第一个元素不同,则返回 false,否则返回 true。

使用方法
const arr1 = [1, 1, 1, 1];
const arr2 = [1, 2, 3, 4];

console.log(checkArrayEqual(arr1)); // 输出 true
console.log(checkArrayEqual(arr2)); // 输出 false
方法二:使用 every 方法

另一种比较简单的方法是使用 JavaScript 数组中的 every 方法,该方法会对数组中的每个元素都执行指定的回调函数, 只有每个元素都返回 true,整个函数才会返回 true,否则返回 false。

function checkArrayEqual(arr) {
  return arr.every((val, i, arr) => val === arr[0]);
}

上述代码使用 every 方法,将数组中的每个元素与第一个元素比较,如有不同,则返回 false。

使用方法
const arr1 = [1, 1, 1, 1];
const arr2 = [1, 2, 3, 4];

console.log(checkArrayEqual(arr1)); // 输出 true
console.log(checkArrayEqual(arr2)); // 输出 false

由上可见,使用 every 方法比方法一更简单,更易读。

到此,我们介绍了两种方法来检查数组的所有值是否相等,你可以根据需要选择其中一个方法。