📌  相关文章
📜  检查数组是否具有相同的值 javascript (1)

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

JavaScript数组是否具有相同的值的检查方法

在编程中经常会遇到需要判断一个数组是否包含相同的值的情况。本文将介绍几种实现方法。

方法一:利用Set

Set是ES6中新增的一种数据结构,它类似于一个数组,但是成员的值都是唯一的,没有重复的值。我们可以通过判断Set的长度是否与原始数组的长度相等来判断是否包含相同的值。

// 数组是否包含相同的值
function hasSameValue(arr) {
  return new Set(arr).size !== arr.length;
}
  • new Set(arr):将数组转换为Set
  • new Set(arr).size:获取Set的长度
  • arr.length:获取数组的长度
方法二:利用indexOf

indexOf方法返回在数组中匹配到的第一个元素的索引值,如果没有匹配到,则返回-1。我们可以遍历数组,利用indexOf方法判断是否包含相同的值。

// 数组是否包含相同的值
function hasSameValue(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (arr.indexOf(arr[i]) !== i) {
      return true;
    }
  }
  return false;
}
  • arr.indexOf(arr[i]):判断数组中是否有当前元素的索引值与i相同
方法三:利用includes

includes方法返回一个布尔值,表示当前数组是否包含指定的值。我们也可以遍历数组,利用includes方法判断是否包含相同的值。

// 数组是否包含相同的值
function hasSameValue(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (arr.includes(arr[i], i + 1)) {
      return true;
    }
  }
  return false;
}
  • arr.includes(arr[i], i + 1):判断数组中下一个位置是否有与当前元素相同的值

总结:以上是几种在JavaScript中检查数组是否有相同的值的方法。虽然方法不同,但它们都能很好地满足我们的需求。