美文网首页程序员Web前端之路技术干货
JavaScript 数组去重的两种姿势

JavaScript 数组去重的两种姿势

作者: 老邵 | 来源:发表于2018-04-08 19:14 被阅读72次

注意:本文中的 arr 为任意一个数组

1

arr = arr.filter((value, index) => index === arr.indexOf(value));

解释:

fliter 方法应用于数组的每一个元素,根据回调函数来决定数组元素是否保留,最后返回一个新数组。

箭头函数左边为参数,右边为返回值。第一个参数为当前遍历到的元素的值,第二个参数为元素在数组中的索引值。

indexOf 方法返回给定元素在数组中的第一个索引,如果给定元素不存在则返回 -1。

在上方代码中,如果当前遍历到的元素的索引与数组中查询该元素的第一个索引相等,就会保留当前元素。否则就是在第一个元素后出现了数值相等的重复元素,不保存重复元素。

2

 arr = [...new Set(arr)];

解释:

Set 允许存储任何类型的唯一值。构造 Set 时允许传入一个可迭代对象,如数组。因为 Set 中的值具有唯一性,所以新的 Set 对象中只保留数组不重复的值。

... 为扩展语法,可以使迭代对象变为逗号分隔的多个值。

上方代码中新建的 Set 对象没有重复值,展开后变为了逗号分隔的一列参数,加上外面的方括号就又变为了数组。

相关文章

  • JavaScript 数组去重的两种姿势

    注意:本文中的 arr 为任意一个数组 1 解释: fliter 方法应用于数组的每一个元素,根据回调函数来决定数...

  • JavaScript数组去重算法实例

    本文主要介绍了JavaScript数组去重算法,结合实例形式总结分析了JavaScript数组去重相关的读写、遍历...

  • javascript数组去重,数组对象去重

    利用Reduce去重 function unique(arr) {var obj = {};arr = arr.r...

  • JavaScript - 数组去重

    数组去重 1.for循环 2.0 少了多少行代码~~~ 3.0 indexOf 4.0 map/forEach E...

  • javascript 数组去重

    es6数组去重的方法

  • JavaScript 数组去重

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你...

  • JavaScript 数组去重

    博客地址:https://ainyi.com/#/32 单数组去重 filter + indexOf() filt...

  • JavaScript数组去重

    数组去重是一个js中在面试中经常被问到的问题,被问到是因为确实能够考察一些问题。如果不使用第三方的工具库,完全使用...

  • Javascript 数组去重

    数组去重 数组去重,一般需求是给你一个数组,调用去重方法,返回数值副本,副本中没有重复元素。一般来说,两个元素通过...

  • 【JavaScript】数组去重

    话说面试常会碰到面试官会问JavaScript实现数组去重的问题,最近刚好在学习有关于JavaScript数组相关...

网友评论

    本文标题:JavaScript 数组去重的两种姿势

    本文链接:https://www.haomeiwen.com/subject/iysmhftx.html