当前位置:网站首页>数组对象实现一 一对比(索引和id相同的保留原数据,原数组没有的数据从默认列表加进去)

数组对象实现一 一对比(索引和id相同的保留原数据,原数组没有的数据从默认列表加进去)

2022-06-22 18:05:00 凹凸曼与程序猿

数组对象实现一 一对比(索引和id相同的保留原数据,原数组没有的数据从默认列表加进去)
  // 接口数据(缺数据)
    let arr1 = [
      {
    
        left: [
          {
     id: 1, name: "cc", check: true, displayName: "检测框IOU" },
          {
     id: 2, name: "yy", check: true, displayName: "aaa" },
          {
     id: 3, name: "dd", check: false, displayName: "ixxxxou" },
        ],
      },
      {
    
        left: [
          {
     id: 1, name: "cc", check: false, displayName: "iou" },
          {
     id: 2, name: "yy", check: true, displayName: "aaa" },
          {
     id: 3, name: "dd", check: true, displayName: "ixxxxou" },
        ],
      },
    ];
	// 默认数据(全数据)
    let arr2 = [
      {
    
        left: [
          {
     id: 1, name: "cc", check: false, displayName: "检测框IOU" },
          {
     id: 2, name: "yy", check: false, displayName: "aaa" },
          {
     id: 3, name: "dd", check: false, displayName: "ixxxxou" },
          {
     id: 4, name: "dd", check: false, displayName: "xin1" },
          {
     id: 5, name: "dd", check: false, displayName: "xin2" },
        ],
      },
    ];

	arr1.forEach((item1,index1)=>{
    
		let arr3 = item1.left
		arr2[0].left.forEach((item2)=>{
    
			let isEqual = false;
			arr3.forEach((item3)=>{
    
				if(item2.id === item3.id){
    
					isEqual = true;
					return false;
				}
			})
			if(!isEqual){
    
				arr1[index1].left.push(item2);
			}
		})
	})
console.log(arr1)//最终拼接好的数组
arr1: [
      {
    
        left: [
          {
     id: 1, name: "cc", check: true, displayName: "检测框IOU" },
          {
     id: 2, name: "yy", check: true, displayName: "aaa" },
          {
     id: 3, name: "dd", check: false, displayName: "ixxxxou" },
          {
     id: 4, name: "dd", check: false, displayName: "xin1" },
          {
     id: 5, name: "dd", check: false, displayName: "xin2" },
        ],
      },
      {
    
        left: [
          {
     id: 1, name: "cc", check: false, displayName: "iou" },
          {
     id: 2, name: "yy", check: true, displayName: "aaa" },
          {
     id: 3, name: "dd", check: true, displayName: "ixxxxou" },
          {
     id: 4, name: "dd", check: false, displayName: "xin1" },
          {
     id: 5, name: "dd", check: false, displayName: "xin2" },
        ],
      },
    ];
原网站

版权声明
本文为[凹凸曼与程序猿]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43994675/article/details/115368407