|
js数组去重的方法有使用Set、使用indexOf、使用includes、使用filter和使用reduce。1、使用Set,特点是集合中的元素不会重复;2、使用indexOf,可以返回指定元素在数组中的第一个索引位置;3、使用includes,可以用来判断一个元素是否已经存在于数组中;4、使用filter,可以用来筛选元素;5、使用reduce,可以将数组中的元素压缩等等。 本教程操作环境:windows10系统、JavaScript ES12版本、DELL G3电脑。 在JavaScript编程中,我们经常会遇到需要对数组进行去重操作的情况。去重是指将数组中重复的元素去除,只保留其中的一个。本文将介绍一些常用的JavaScript数组去重方法,以帮助读者更好地理解和应用。 方法一:使用Set ES6中引入的Set对象是一种新的数据结构,它可以帮助我们快速进行数组去重。Set对象的特点是集合中的元素不会重复。我们可以简单地将数组转换为Set对象,然后再将Set对象转换回数组,从而达到去重的目的。 示例代码: let arr = [1, 2, 2, 3, 3, 4, 5];let uniqueArr = Array.from(new Set(arr));console.log(uniqueArr); // [1, 2, 3, 4, 5] 登录后复制 方法二:使用indexOf JavaScript中的数组对象提供了一个indexOf方法,它可以返回指定元素在数组中的第一个索引位置。我们可以利用此方法来判断一个元素是否已经存在于新的数组中,如果不存在,则将其添加进去。 示例代码: let arr = [1, 2, 2, 3, 3, 4, 5];let uniqueArr = [];for (let i = 0; i < arr.length; i++) {if (uniqueArr.indexOf(arr[i]) === -1) {uniqueArr.push(arr[i]);}}console.log(uniqueArr); // [1, 2, 3, 4, 5] 登录后复制 方法三:使用includes ES7中引入的includes方法与indexOf方法类似,它可以用来判断一个元素是否已经存在于数组中。我们可以利用这个方法来进行数组去重操作。 示例代码: let arr = [1, 2, 2, 3, 3, 4, 5];let uniqueArr = [];for (let i = 0; i < arr.length; i++) {if (!uniqueArr.includes(arr[i])) {uniqueArr.push(arr[i]);}}console.log(uniqueArr); // [1, 2, 3, 4, 5] 登录后复制 方法四:使用filter JavaScript中的数组对象提供了一个filter方法,它可以用来筛选元素。我们可以利用这个方法来进行数组去重操作,只保留第一次出现的元素。 示例代码: let arr = [1, 2, 2, 3, 3, 4, 5];let uniqueArr = arr.filter((item, index) => {return arr.indexOf(item) === index;});console.log(uniqueArr); // [1, 2, 3, 4, 5] 登录后复制 方法五:使用reduce JavaScript中的数组对象提供了一个reduce方法,它可以将数组中的元素“压缩”为一个单独的值。我们可以利用这个方法来进行数组去重操作。 示例代码: let arr = [1, 2, 2, 3, 3, 4, 5];let uniqueArr = arr.reduce((prev, curr) => {if (!prev.includes(curr)) {prev.push(curr);}return prev;}, []);console.log(uniqueArr); // [1, 2, 3, 4, 5] 登录后复制 结论: 本文介绍了JavaScript中常用的数组去重方法,其中包括使用Set、indexOf、includes、filter和reduce等方法。读者可以根据实际情况选择合适的方法来进行数组去重操作。在实际开发中,数组去重是一项非常基础和常用的操作,掌握了这些方法,可以更高效地处理数组数据,提升程序的性能和可读性 。 |
正在阅读:js数组去重的方法有哪些 js数组去重的方法介绍【详解】js数组去重的方法有哪些 js数组去重的方法介绍【详解】
2023-10-19 17:47
出处:IT百科
责任编辑:zhaojian2

西门子(SIEMENS)274升大容量家用三门冰箱 混冷无霜 零度保鲜 独立三循环 玻璃面板 支持国家补贴 KG28US221C
5399元
苏泊尔电饭煲家用3-4-5-8个人4升电饭锅多功能一体家用蓝钻圆厚釜可做锅巴饭煲仔饭智能煮粥锅预约蒸米饭 不粘厚釜 4L 5-6人可用
329元
绿联65W氮化镓充电器套装兼容45W苹果16pd多口Type-C快充头三星华为手机MacbookPro联想笔记本电脑配线
99元
KZ Castor双子座有线耳机入耳式双单元HM曲线发烧HiFi耳返耳麦
88元
格兰仕(Galanz)【国家补贴】电烤箱 家用 40L大容量 上下独立控温 多层烤位 机械操控 烘培炉灯多功能 K42 经典黑 40L 黑色
260.9元
漫步者(EDIFIER)M25 一体式电脑音响 家用桌面台式机笔记本音箱 蓝牙5.3 黑色 520情人节礼物
109元

