JS判断数组中是否有重复值得三种实用方法

下面我详细讲解下“JS判断数组中是否有重复值得三种实用方法”的完整攻略。

方法一:Set对象

利用Set对象可以去除数组中的重复元素,因此,先将原数组利用Set对象去重,然后比较去重后的数组长度和原数组长度即可判断原数组中是否有重复元素。

示例代码如下:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let setArr = new Set(arr);
if (setArr.size !== arr.length) {
  console.log('Array contains duplicates');
} else {
  console.log('Array does not contain duplicates');
}

方法二:for循环嵌套

使用两个for循环嵌套,分别遍历数组中的每个元素,比较它们的值是否相等。如果在内部循环中找到了相同的元素,则说明原数组中存在重复元素。

示例代码如下:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let flag = false;
for (let i = 0; i < arr.length - 1; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[i] === arr[j]) {
      flag = true;
      break;
    }
  }
  if (flag) {
    break;
  }
}
if (flag) {
  console.log('Array contains duplicates');
} else {
  console.log('Array does not contain duplicates');
}

方法三:indexOf和lastIndexOf方法

利用数组的indexOf和lastIndexOf方法,分别查找当前元素第一次和最后一次出现的位置,如果这两个位置不相等,则说明该元素在数组中重复出现。

示例代码如下:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let flag = false;
for (let i = 0; i < arr.length; i++) {
  if (arr.indexOf(arr[i]) !== arr.lastIndexOf(arr[i])) {
    flag = true;
    break;
  }
}
if (flag) {
  console.log('Array contains duplicates');
} else {
  console.log('Array does not contain duplicates');
}

以上三种方法可以较好的判断数组中是否有重复值,根据实际情况选择使用即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS判断数组中是否有重复值得三种实用方法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript面向对象程序设计创建对象的方法分析

    JavaScript面向对象程序设计创建对象的方法分析 什么是对象? 对象是一种数据类型。它可以用来存储一组相关的数据,并且允许我们定义相关的方法来访问和操作这些数据。对象由多个属性组成,每个属性都有一个名称和对应的值。 如何创建对象? 在JavaScript中,有多种创建对象的方式。下面分别介绍这些方法。 1. 对象字面量 对象字面量是最常用的创建对象的方…

    JavaScript 2023年5月27日
    00
  • jquery获取url参数及url加参数的方法

    jQuery获取URL参数的方法 在jQuery中,可以使用以下代码来获取URL中的参数: function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for …

    JavaScript 2023年5月19日
    00
  • js几秒以后倒计时跳转示例

    下面我将为您提供“js几秒以后倒计时跳转示例”的完整攻略。 示例一:使用window.setTimeout()方法实现倒计时跳转 首先,在HTML页面中添加一个div元素,用于显示倒计时的时间: <div id="countdown">5</div> 接下来,添加以下JavaScript代码: // 获取倒计时di…

    JavaScript 2023年5月27日
    00
  • 浅析javascript 定时器

    浅析JavaScript定时器 JavaScript的定时器指的是用来在一定时间后执行一段代码的方法。JavaScript中有两种定时器:setInterval和setTimeout。其中,setInterval表示定时执行某个函数;而setTimeout是在指定时间后只执行一次函数。 1.使用setInterval定时执行函数 setInterval()方…

    JavaScript 2023年6月11日
    00
  • javascript之嵌套函数使用方法

    下面我来详细讲解一下“JavaScript之嵌套函数使用方法”的完整攻略。 什么是嵌套函数 嵌套函数是一种定义在另一个函数内部的函数,可以在外部函数范围内使用。嵌套函数有时候也称为内部函数、嵌套函数、局部函数或私有函数。 以下是一个简单的嵌套函数示例: function outerFunction() { console.log("这是外部函数&q…

    JavaScript 2023年5月27日
    00
  • Js基础学习资料

    Js基础学习资料完整攻略 目录 学习网站推荐 学习书籍推荐 个人建议 学习网站推荐 以下是一些适合 Js 初学者的网站,这些网站通常包括了从 Js 基础语法到高阶应用的全面内容。 MDN Web Docs w3schools JavaScript.info 学习书籍推荐 以下是一些 Js 学习者可以选择的经典书籍。 《JavaScript 高级程序设计》([…

    JavaScript 2023年5月18日
    00
  • javascript数组元素删除方法delete和splice解析

    JavaScript数组元素删除方法delete和splice解析 对于JavaScript数组,删除操作是常见的一种操作,但是我们可以使用不同的方法进行删除操作,其中最常用的有删除元素的方法delete和splice。 delete方法 delete方法会将对应下标的元素删除,但是会保留这个位置,也就是说对于这个数组来说,这个位置还是存在的,只是该位置的值…

    JavaScript 2023年5月27日
    00
  • vue3.0之Router的使用你了解吗

    当涉及到Vue.js应用的路由管理时,Vue.js社区提供了许多路由插件,其中最受欢迎的是Vue Router。Vue Router是Vue.js官方支持的路由管理器,它能够让你基于Vue.js创建SPA(单页应用)非常方便。 Vue Router 3.0相对于Vue Router 2.0的主要更新内容有以下几点: 路由器构造函数改为createRouter…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部