过滤数据中重复的项

平时的js数值处理中,我们经常需要删除重复的项,此处针对该操作记录一下

  1. 删除重复的值
function deleteDuplicateData(arr){
	return arr.filter((item,index,self) => {
		return index === self.indexOf(item)
	})
}
deleteDuplicateData([1,2,2,3])
  1. 删除对象数组中重复的项
let data = [
      {id:1,filename: 'a'},
      {id:2,filename: 'b'},
      {id:3,filename: 'a'},
]

function deleteDuplicateData() {
      return data.filter((item, index, self) =>
            index === self.findIndex((it) => (
                  it.filename === item.filename
            )),
      )
}

deleteDuplicateData(data)

ps: 此处贴上findIndexfilter 的MDN地址,有需要的可以查看

原文地址:https://www.cnblogs.com/AdolphWilliam/p/14365624.html