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图片上传前的本地预览实例”的完整攻略。 知识储备 在开始我们的实例之前,需要对以下知识进行了解: 用户通过 <input type=”file”> 选择本地图片,设置 onchange 事件来获取图片的文件信息; 利用 FileReader 对文件进行读取,获取读取后的文件对象; 将文件对象转化为图片的 url 地址,…

    JavaScript 2023年6月11日
    00
  • 用JS写的一个Ajax库(实例代码)

    用JS写的一个Ajax库(实例代码) 什么是Ajax? Ajax全称为”Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax 使用了一些现有的技术,包括HTML、CSS、JavaScript、DOM等,以及XMLHttpRequest对象。它不需要重载整个页面…

    JavaScript 2023年6月11日
    00
  • javascript判断css3动画结束 css3动画结束的回调函数

    关于javascript判断css3动画结束和css3动画结束的回调函数,下面是一个完整的攻略。 如何判断CSS3动画是否结束? CSS3动画有两个状态:正在运行和已经结束。我们可以通过 JavaScript 来判断动画是否结束,实现各种复杂的交互效果。 在判断CSS3动画结束的时候,我们需要监听动画事件。CSS3动画有两个相关的事件:transitione…

    JavaScript 2023年6月10日
    00
  • jquery设置表单元素为不可用的简单代码

    当需要禁用表单元素时,我们可以使用 jQuery 非常简单地设置该元素为不可用状态。以下是这个过程的详细攻略。 步骤1:选择器 首先,我们需要使用 jQuery 选择器来选定要设置为不可用的表单元素。选择器的语法与 CSS 选择器基本相同。以下是一些常见的选择器示例: 选择一个具有特定 CSS 类的元素:$(‘.myclass’) 选择所有具有特定标记名称的…

    JavaScript 2023年6月10日
    00
  • JavaScript中的偏函数你理解了吗

    首先,偏函数涉及的概念有: 函数的柯里化:将接受多个参数的函数转化为接受单一参数(最初函数的第一个参数)的函数。例如,一个函数add(x,y,z),柯里化后可得到add(x)(y)(z)的格式。 偏函数:将某个函数的一部分参数固定下来,生成一个新的函数,该新函数的参数比原函数少。 在 JavaScript 中,利用柯里化的思想可以轻松实现偏函数。 下面是关于…

    JavaScript 2023年5月27日
    00
  • 微信小程序保持session会话的方法

    下面我将为你详细介绍微信小程序保持 session 会话的方法。 什么是 session session 是指客户端和服务器之间的交互状态,可以理解为身份验证或登录状态的一种维持方式。常见的维持 session 的方法有 cookie 和 token。 微信小程序 session 微信小程序中,可以通过 wx.request 方法向服务器发送请求并维持 se…

    JavaScript 2023年6月11日
    00
  • javascript 异步的innerHTML使用分析

    JavaScript 异步的 innerHTML 使用分析 在网站开发过程中,使用内部 HTML 设置元素内容是很常见的。通过使用 innerHTML 属性,我们可以将 HTML 代码动态插入到网页中。然而,在某些情况下,JavaScript 中这种操作可能会异步执行,这可能会在使用过程中引起问题。在这篇文章中,我们将讨论 innerHTML 方法的异步执行…

    JavaScript 2023年6月10日
    00
  • JavaScript中undefined和is not defined的区别与异常处理

    JavaScript中undefined与is not defined的区别与异常处理攻略 在JavaScript编程中,我们可能会遇到两种情况:一个是使用undefined变量,一个是使用未定义的变量(is not defined)。虽然在表象上看起来很相似,但实际上它们是不同的,并且需要不同的处理方法。在这篇攻略中,我将向您展示它们的区别,以及如何在代码…

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