根據數組中相同的id生成一個新的數組

本篇文章是轉載 附原文鏈接
轉自 https://www.cnblogs.com/susu8/p/9817014.html

問題描述:
把list數組中相同的id合成一個,mat_qlt_id的值作爲key, value作爲值, 組成新數組newList

const list = [
      {
        sample_id: '1',
        mat_qlt_id: 'M-015-4',
        value: 3,
      },
      {
        sample_id: '2',
        mat_qlt_id: 'M-015-4',
        value: 33,
      },
      {
        sample_id: '1',
        mat_qlt_id: 'M-015-5',
        value: 2,
      },
      {
        sample_id: '1',
        mat_qlt_id: 'M-015-6',
        value: 1,
      },
      {
        sample_id: '2',
        mat_qlt_id: 'M-015-5',
        value: 22,
      },
      {
        sample_id: '3',
        mat_qlt_id: 'M-015-6',
        value: 11,
      },
      {
        sample_id: '2',
        mat_qlt_id: 'M-015-6',
        value: 11,
      },
    ];

newList
在這裏插入圖片描述
代碼如下:

const newList = [];
 
list.forEach((data) => {
  for (let i = 0; i < newList.length; i++) {
    if (newList[i].sample_id === data.sample_id) {
      newList[i][data.mat_qlt_id] = data.value;
      return;
    }
  }
  newList.push({
    sample_id: data.sample_id,
    [data.mat_qlt_id]: data.value,
  });
});
console.log(newList);

轉自 https://www.cnblogs.com/susu8/p/9817014.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章