【问题标题】:How can i assign value in first array to new key in second array by comparing id in both arrays . in javascript如何通过比较两个数组中的 id 将第一个数组中的值分配给第二个数组中的新键。在javascript中
【发布时间】:2020-07-06 10:16:38
【问题描述】:

我想通过比较Array1中的inspectionId和Array2中的id,根据Status和Array1中的键将新键添加到Array2中。

 Array1 = [ 
      { inspectionId: '4', Status: { CH1: true, CH2: false } },
      { inspectionId: '5', Status: { CH1: false, CH2: true } },
      { inspectionId: '6', Status: { CH1: true, CH2: true } },
      { inspectionId: 'd2', Status: '2020-07-03T11:26:43+05:30' },
      { inspectionId: 'd3', Status: '1' },
      { inspectionId: 'd4', Status: [ '1' ] } 
     ]


 Array2 = [
      { id: '4',
        sectionTitle: 'Inspection Field 4',
        data: 
         [ { key: 'CH1', value: 'Checklist 1', shifts: [] },
           { key: 'CH2', value: 'Checklist 2', shifts: [] } ] 
      },
      { id: '5',
        sectionTitle: 'Inspection Field 5',
        data: 
         [ { key: 'CH1', value: 'Checklist 1', shifts: [] },
           { key: 'CH2', value: 'Checklist 2', shifts: [] } ] 
      },
      { id: '6',
        sectionTitle: 'Inspection Field 6',
        data: 
         [ { key: 'CH1', value: 'Checklist 1', shifts: [] },
           { key: 'CH2', value: 'Checklist 2', shifts: [] } ] 
      } 
           ]

所需的甲酸盐:

data = [
          { id: '4',
            sectionTitle: 'Inspection Field 4',
            data: 
             [ { key: 'CH1', value: 'Checklist 1', shifts: [], status: true },
               { key: 'CH2', value: 'Checklist 2', shifts: [], status: false } ] 
          },
          { id: '5',
            sectionTitle: 'Inspection Field 5',
            data: 
             [ { key: 'CH1', value: 'Checklist 1', shifts: [], status: false },
               { key: 'CH2', value: 'Checklist 2', shifts: [], status: true } ] 
          },
          { id: '6',
            sectionTitle: 'Inspection Field 6',
            data: 
             [ { key: 'CH1', value: 'Checklist 1', shifts: [], status: true },
               { key: 'CH2', value: 'Checklist 2', shifts: [], status: true } ] 
          } 

    ]

如何使用 map 或任何其他方法这样做,以便我可以在 react-native 的部分列表格式中显示列表

【问题讨论】:

标签: javascript arrays react-native loops


【解决方案1】:

试试这个。

下次请自己尝试一下

const Array1 = [ { inspectionId: '4', Status: { CH1: true, CH2: false } }, { inspectionId: '5', Status: { CH1: false, CH2: true } }, { inspectionId: '6', Status: { CH1: true, CH2: true } }, { inspectionId: 'd2', Status: '2020-07-03T11:26:43+05:30' }, { inspectionId: 'd3', Status: '1' }, { inspectionId: 'd4', Status: [ '1' ] } ],
      Array2 = [ { id: '4', sectionTitle: 'Inspection Field 4', data: [ { key: 'CH1', value: 'Checklist 1', shifts: [] }, { key: 'CH2', value: 'Checklist 2', shifts: [] } ] }, { id: '5', sectionTitle: 'Inspection Field 5', data: [ { key: 'CH1', value: 'Checklist 1', shifts: [] }, { key: 'CH2', value: 'Checklist 2', shifts: [] } ] }, { id: '6', sectionTitle: 'Inspection Field 6', data: [ { key: 'CH1', value: 'Checklist 1', shifts: [] }, { key: 'CH2', value: 'Checklist 2', shifts: [] } ] } ];

Array1.forEach(item1 => {
  let section = Array2.find(item2 => item2.sectionTitle === "Inspection Field "+item1.inspectionId);
  if (section) section.data.forEach(data => data.status = item1.Status[data.key]!=null ? item1.Status[data.key] : "N/A" )
})

console.log(Array2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    相关资源
    最近更新 更多