欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

js数组对象去重

最编程 2024-02-02 08:25:15
...

我们在日常写代码中有许许多多的业务逻辑,数组去重是比较罕见的业务逻辑,教大家如何快速,高效的解决此类问题

1.数组去重(ES6中新增了数据类型Set,Set的一个最大的特点就是数据不重复。Set函数可以接受一个数组(或类数组对象)作为参数来初始化,利用该特性也能做到给数组去重。)


let list = [1,2,2,3,5]
list = new Set(list) // 数组去重
console.log(Array.from(list)) //[1,2,3,5] 把set类型再给转换成数组

2.数组对象去重(ES6中新增的数据类型Map,结合filter来进行去重)

let list1=[{id:1,name:'张三'},{id:2,name:'蔡文姬'}]
let list2=[{id:1,name:'法外狂徒'},{id:3,name:'红眼'}]
const mapData = new Map();
let mergeList=[...list1,...list2] // 把两个数组结合为一个数组
let filterList=mergeList.filter(item=>!mapData.has(item.id) && mapData.set(item.id,1)) // 使用filter方法来进行过滤使用Map方法来获取Id从而判断里面是否存在此id来进行过滤
consoloe.log(filterList)

image.png

3.我们在写删除接口或者更新数据后台的接口要求数据以数组id的形式,我们在表格中一把拿到的都是数据对象,现在要把单独的id给拿出来

let list1=[{id:1,name:'张三'},{id:2,name:'蔡文姬'},{id:5,name:'法外狂徒'},{id:3,name:'红眼'}]
let ids=Array.from(list1,({id})=>id)
console.log(ids) //[1, 2, 5, 3]

第一次发文,给前端初学者的一些简单明了的方法,不喜勿喷,相互学习