js--二维数组对象中根据某个相同的属性值合并其他项

let arr = [
      { id: 1, list: { id: 66 } },
      { id: 1, list: { id: 44 } },
      { id: 2, list: { id: 55 } },
      { id: 2, list: { id: 33 } },
      { id: 3, list: { id: 11 } },
      { id: 3, list: { id: 22 } }
    ]

    let tempArr = [], newArr = []
    for (let i = 0; i < arr.length; i++) {
      if (tempArr.indexOf(arr[i].id) === -1) {
        newArr.push({
          id: arr[i].id,
          list: [arr[i].list]
        })
        tempArr.push(arr[i].id);
      } else {
        for (let j = 0; j < newArr.length; j++) {
          if (newArr[j].id == arr[i].id) {
            newArr[j].list.push(arr[i].list)
          }
        }
      }
    }

    console.log(newArr)

如果对你有用,关注一下博主的小程序,登录一下给予支持,以后有什么开源好用的源码都会上传到小程序

猜你喜欢

转载自blog.csdn.net/qq_42543264/article/details/121142196