美文网首页
filter()数组去重

filter()数组去重

作者: krystal_H | 来源:发表于2019-07-24 19:01 被阅读0次

filter去重首先要清楚在数组中indexOf的含义

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

1.简单数据类型去重

let arr = ['a', 'b', 'c', 'c', 'd', 'd']
let outPut = arr.filter((item, index) => arr.indexOf(item) == index)
 console.log(outPut) // ['a', 'b', 'c', 'd']

2.数组对象去重

let arr = [
  {
    name: 'Jack'
  },
  {
    name: 'Jack'
  },
  {
    name: 'Tom'
  },
  {
    name: 'Edward'
  },
]
let arr2 = arr.filter((item, index) => {
  let temArr = []
  arr.forEach(item2 => temArr.push(item2.name))
  return temArr.indexOf(item.name) == index
})
// 对象的某个属性放入临时数组,对比临时数组中元素所在对象的索引,
// 多个对象可push多个,均不相同return ..&&..   有一不同 return ..||..
// console.log(arr2) 
// [ { name: 'Jack' }, { name: 'Tom' }, { name: 'Edward' } ]

相关文章

网友评论

      本文标题:filter()数组去重

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