美文网首页
用一行Array.filter去重JS数组

用一行Array.filter去重JS数组

作者: Kagashino | 来源:发表于2017-06-27 13:35 被阅读0次

最近在freeCodeCamp上练手js算法题,发现有很多题目可以直接return一个链式调用的对象完成,恰巧赶上熟悉了filter方法,特此介绍
法一:

[需要去重的数组].filter( (item, index ,arr)=>arr.indexOf(item) === index )

意思是,对于重复的元素 传入indexOf方法,输出的是数组中第一次出现的下标而非它本身的下标,效果:

控制台测试

filter函数介绍:
  filter是Array的原型方法,filter接受一个函数,函数可以传3个参数:分别是遍历到的元素对象,前者的下表和数组本身,如果函数返回真,就把该元素加到新数组中,遍历完成后,filter返回一个包含遍历是碰到每个return true对应元素的数组;
示例:

var array = [1,2,3,4,5,6,7,8,9];
var newArray = array.filter(function(item){
  return item % 2 === 0;//保留偶数
});
console.log(newArray)//[2,4,6,8]
console.log(array)//不会改变原数组

法二,ES6中使用Set数据结构和...拓展运算符可以更加简洁地达到这个效果
[...new Set([1,1,1,1,1,2,3,3,3,3,3])] //[1,2,3]

相关文章

  • 用一行Array.filter去重JS数组

    最近在freeCodeCamp上练手js算法题,发现有很多题目可以直接return一个链式调用的对象完成,恰巧赶上...

  • js 数组去重,格式转换方法

    1,对象数组去重 2,用js实现将二维数组格式化转换成树状数组 3,将树结构数据转换为一维数组 4, 数组去重

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

  • JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的。JS实现数组去重可以有多种方法: 一、简单的去重方法 用...

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • js用Set实现数组去重

  • js数组去重

    Set结构去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 向 Se...

  • JS数组去重

    方法1:两层for循环,外层循环原数组,内层循环时进行比较。 方法2:利用对象的属性不能相同的特点去重 方法3:利...

  • js数组去重

  • js数组去重

    1.利用对象的属性唯一性去重 2.利用es6的Set

网友评论

      本文标题:用一行Array.filter去重JS数组

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