ES6数组对象去重取重
ES6 ,vue数组对象去重,取重1、单数组,自身去重2、单数组对象,自身去重3、合并两个数组,并去重4、合并两个数组对象,并去重5、去重:两个数组对象A,B,获取A中减去含有B的部分6、取重:两个数组对象A,B,获取A中含有B的部分1、单数组,自身去重let data = ["张三","李四","王五","赵六","张三","田七"]let set = new Set(data)console.
·
ES6 ,vue数组对象去重,取重
1、单数组,自身去重
let data = ["张三","李四","王五","赵六","张三","田七"]
let set = new Set(data)
console.log(set)
2、单数组对象,自身去重
let data = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:1,name:"王五"},
{id:4,name:"赵六"},
{id:5,name:"孙七"},
]
let obj = {}
let set = data.reduce((cur,next) => {
obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
return cur;
},[])
//这里演示的是:如果有相同id,就去掉
console.log(set)
3、合并两个数组,并去重
let a = [1,2,3];
let b = [1,3,5,6];
let c = [...new Set([...a,...b])]
console.log(c)
4、合并两个数组对象,并去重
let arr1 = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
{id:4,name:"赵六"},
{id:5,name:"孙七"}
]
let arr2 = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:6,name:"陈八"},
]
let newArr = [...arr1, ...arr2]
let obj = {}
let result = newArr.reduce((item, next) => {
obj[next.id] ? '' : obj[next.id] = true && item.push(next)
return item
}, [])
console.log(result)
5、去重:两个数组对象A,B,获取A中减去含有B的部分
let a = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
{id:4,name:"赵六"},
{id:5,name:"孙七"}
]
let b = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
]
b.map(item=>{
a = a.filter(item2 => item2.id != item.id);
})
console.log(a)
6、取重:两个数组对象A,B,获取A中含有B的部分
//情况1
let arr1 = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
{id:4,name:"赵六"},
{id:5,name:"孙七"}
];
let arr2 = [1,2,3]
let obj= arr1.filter(item => arr2.indexOf(item.id) > -1)
console.log(obj)
//情况2
let arr1 = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
{id:4,name:"赵六"},
{id:5,name:"孙七"}
];
let arr2 = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王五"},
]
let obj= arr1.filter(item => arr2.some(item2=>item2.id == item.id))
console.log(obj)
学到了就要教人,赚到了就要给人,互相学习,共同进步。
更多推荐
已为社区贡献1条内容
所有评论(0)