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


問題描述:

把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);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM