javascript数组去重常用方法实例分析

JavaScript数组去重常用方法实例分析

在 JavaScript 中,对于数组去重的方法有很多种,接下来我们分别介绍两种常用的方法,分别是“使用 Set 数据结构去除重复项”和“双重循环判断去除重复项”。

方法一:使用 Set 数据结构去除重复项

Set 数据结构是 ES6 中新增的一种数据类型,它类似于数组,但是成员的值都是唯一的,没有重复的值。我们可以借助它轻松实现数组去重。

示例代码如下:

let arr = [1, 2, 3, 3, 4, 4, 5];
let newArr = Array.from(new Set(arr));
console.log(newArr); // [1, 2, 3, 4, 5]

上面的代码中,我们首先定义了一个数组 arr,它包含了一些重复的元素。然后我们使用了 ES6 中的 Set 数据结构将 arr 数组去重,最后将去重后的结果转换成数组并存储在一个新的变量 newArr 中,并使用 console.log 输出 newArr 数组的值,结果为 [1, 2, 3, 4, 5]。

方法二:双重循环判断去除重复项

除了使用 Set 数据结构之外,我们还可以使用常规的双重循环判断法来去除数组中的重复项。

示例代码如下:

let arr = [1, 2, 3, 3, 4, 4, 5];
for (let i = 0; i < arr.length; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[i] === arr[j]) {
      arr.splice(j, 1);
      j--;
    }
  }
}
console.log(arr); // [1, 2, 3, 4, 5]

上面的代码中,我们通过一个嵌套的循环遍历数组,对于每个元素和后面的元素进行比较,如果有重复的元素,则使用 splice 方法将后面的重复元素删除,并将 j 的值减一,以便下次继续判断该位置的值。最终的结果为 [1, 2, 3, 4, 5]。

综上述两种方法,使用 Set 数据结构是效率更高的方法,而双重循环判断是常规方法,用于没有 ES6 支持的环境中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript数组去重常用方法实例分析 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript作用域深度剖析之动态作用域

    JavaScript作用域深度剖析之动态作用域 什么是动态作用域 在计算机科学中,动态作用域是一个表示运行时环境的概念,即在函数被调用时创建一个动态的作用域,该作用域与函数的调用位置有关,而不是与函数被定义时的位置有关。也就是说,动态作用域可以访问与其相邻的调用位置上下文中的变量。 动态作用域其实在 JavaScript 中不被支持,但是通过下文中的代码实例…

    JavaScript 2023年6月10日
    00
  • js判断当前页面在移动设备还是在PC端中打开

    判断当前页面在移动设备还是在PC端中打开,可以使用JavaScript代码完成。 一、通过UA判断方式进行判断 在JavaScript中,可以通过检测浏览器的user agent(UA)来判断设备是否是移动设备。UA是HTTP协议中的一个头部信息,包括了浏览器的名称、版本、操作系统等信息。移动设备一般会在UA中包含“mobile”、“iPad”、“Andro…

    JavaScript 2023年6月11日
    00
  • 浅谈javascript中onbeforeunload与onunload事件

    当用户即将关闭页面或者离开当前页面时,JavaScript中提供了两个常见的事件:onbeforeunload和onunload。 onbeforeunload事件 onbeforeunload事件会在页面关闭或者刷新之前触发,它可以用来提示用户保存数据或者进行其他的操作。这个事件触发后,浏览器会弹出一个确认对话框,询问用户是否确定要离开当前页面。 以下是o…

    JavaScript 2023年6月11日
    00
  • js使用swiper实现层叠轮播效果实例代码

    以下是详细的js使用swiper实现层叠轮播效果实例代码的攻略。 1. 环境搭建 1.1 引入Swiper 第一步需要引入Swiper,可以使用CDN方式引入,也可以下载后引入。 <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.…

    JavaScript 2023年6月11日
    00
  • JavaScript window.location对象

    JavaScript中的window.location对象用于获取或设置浏览器当前打开页面的URL地址信息,它包含了当前页面的所有信息,如:协议、主机名、路径、查询字符串等等。接下来我们将详细讲述该对象的使用。 获取当前页面信息 我们可以使用window.location对象来获取当前页面的相关信息,如下所示: // 获取当前页面的协议,如:http、htt…

    JavaScript 2023年5月27日
    00
  • firebug的一个有趣现象介绍

    下面是“firebug的一个有趣现象介绍”的完整攻略。 什么是Firebug? Firebug是一个开源的浏览器插件,可以用来在浏览网页时进行调试、编辑和监控HTML、CSS、Javascript等网页内容。下面以Chrome浏览器中的F12开发者工具演示说明。 Firebug的一个有趣现象介绍 在使用Firebug调试网页时,我们经常会遇到一个有趣的现象:…

    JavaScript 2023年6月11日
    00
  • js金额千分位的6种实现方法实例

    现在我们就来详细讲解“js金额千分位的6种实现方法实例”的完整攻略。 什么是金额千分位? 在很多场景下,我们需要显示金融金额,而金融金额的显示习惯是每三个数加一个逗号(英文符号为“,”),以便于人类去识别和理解这个数值,这就是所谓金额千分位。 比如,10000.00元要进行金额千分位转换后为:10,000.00元。 6种实现金额千分位的方法 下面我们就来介绍…

    JavaScript 2023年5月28日
    00
  • JavaScript中模拟实现jsonp

    JavaScript中模拟实现jsonp,需要遵循以下步骤: 1. 创建一个script标签 在DOM中创建一个script标签,并设置其src属性为需要跨域请求的URL,同时还需要设置一个callback参数,作为后端接口返回数据的回调函数名。 const script = document.createElement(‘script’); script.…

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