vue数组对象去重

vue数组对象去重vue 数组对象合并去重 Es6 的 Map

vue项目中有很多场景是关于数组对象合并、合并去重的,下面这个方法是其中一种,欢迎参考

1.定义两个数组对象,两个数组中的对象都有唯一标识(id)

var arr1 = [ { 
    id: "1", name: "小明", age: 12, fav: "篮球" }, { 
    id: "2", name: "小红", age: 16, fav: "芭蕾" }, { 
    id: "3", name: "小张", age: 13, fav: "游泳" } ]; var arr2 = [ { 
    id: "1", name: "小明", age: 12, fav: "篮球" }, { 
    id: "4", name: "小李", age: 16, fav: "排球" }, { 
    id: "3", name: "小张", age: 13, fav: "游泳" }, { 
    id: "5", name: "小王", age: 15, fav: "唱歌" } ]; 

2.定义去重方法

methods:{ 
    fn2(arr) { 
    const res = new Map(); return arr.filter(arr => !res.has(arr.id) && res.set(arr.id, arr.id)); }, } 

3.合并两个数组,合并数组的方法有很多,不一一列举,此处采用了扩展运算符。将合并后的数组去重

let newArr = [...arr1, ...arr2]; console.log(newArr); // [ // { id: "1", name: "小明", age: 12, fav: "篮球" }, // { id: "2", name: "小红", age: 16, fav: "芭蕾" }, // { id: "3", name: "小张", age: 13, fav: "游泳" }, // { id: "1", name: "小明", age: 12, fav: "篮球" }, // { id: "4", name: "小李", age: 16, fav: "排球" }, // { id: "3", name: "小张", age: 13, fav: "游泳" }, // { id: "5", name: "小王", age: 15, fav: "唱歌" } // ]; let uniqueArr = this.fn2(newArr) console.log(uniqueArr); // [ // { id: "1", name: "小明", age: 12, fav: "篮球" }, // { id: "2", name: "小红", age: 16, fav: "芭蕾" }, // { id: "3", name: "小张", age: 13, fav: "游泳" }, // { id: "4", name: "小李", age: 16, fav: "排球" }, // { id: "5", name: "小王", age: 15, fav: "唱歌" } // ]; 
let obj =new Map() obj.set("name", "小明") obj.set("age",12) 
let obj =new Map() obj.set("name", "小明") obj.set("age",12) obj.has("name") //true obj.has("fav") //false 

上面的数组去重用到了Map两个方法就介绍到这里

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208955.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:22
下一篇 2026年3月19日 上午10:23


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号