ES6 快速实现一个数组和另一个数组通过比较一个数组对象的字段值处理另一个数组的内容项

实现功能:项目中需要实现,请求过来的数组对象数据选中和取消选中功能;选中可在创建一个新的数组中追加数据,取消可减少数据,具体实现不在嗷述;此处仅处理默认情况下选中不选中的处理;

 ES6: 实现一个数组和另一个数组通过比较数组对象的字段值,达到处理另一个数组的内容项,以追加一条字段属性,值是通过判断的结果处理得到设置;

代码实现如下:

data(){
   return {
        arry:[]
    }
},
methods: {
 getArr(){
    let arr1=[
        {
        id:'01',
        name:'aaa',
    },
     {
        id:'02',
        name:'aaa',
    },
     {
        id:'03',
        name:'aaa',
    },
    ]
    let arr2 = [
    {
        id:'01',
        name:'aaa',
    },
     {
        id:'03',
        name:'aaa',
    },
    ]

    arr1.forEach(item=>{ 
        let isInclude = arr2.some(it => {
            return it.id == item.id
         })  
         if(isInclude == false){
            item.ischeck = false
         }else{
            item.ischeck = true
        }
    })
    this.arry= arr1 //最终赋值
 }
}

2、简单数组去重 Es6 : new Set()

//ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:
let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];

//ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的Set和Map等可遍历对象,如: let set = new Set();
let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));
console.log(array);

3、 数组中去重》引用类型 方式

var arr = [{
    "name": "战士",
    "age": "12",
    "gender": "AAAAAA.doc"
}, {
    "name": "胡说",
    "age": "32",
    "gender": "BBBBBB.doc"
}, {
    "name": "战士",
    "age": "32",
    "gender": "CCCCCC.doc"
}, {
    "name": "李四",
    "age": "15",
    "gender": "AAAAAA.doc"
}];
var hash = {};
arr = arr.reduce(function(item, next) {
    hash[next.name] ? '' : hash[next.name] = true && item.push(next);
    return item
}, [])
console.log(arr);
    原文作者:onlylele
    原文地址: https://blog.csdn.net/onlylele/article/details/106538432
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞