首页 > 解决方案 > 在 React 应用程序内的 JavaScript 中以特定方式合并两个数组

问题描述

我正在尝试使用 填充行和复选框的表.map,但创建数组时出现问题。我有 2 个从数据库中获取的数组,我需要将它们组合成 1 个。下面我留下了两个源数组(JournalA 和 JournalB)

期刊_A

[
  {STUDENT_NAME: "data1",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  },
  {STUDENT_NAME: "data2",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  },
  {STUDENT_NAME: "data3",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  }
]

日记_B

[{
  JOURNAL_DATA: "{
  "1": false,
  "2": false, 
  "3": false
  }"
}]

它需要像下面一样

[
  {STUDENT_NAME: "data1",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data",
   BOOL:true
  },
  {STUDENT_NAME: "data3",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data",
   BOOL:false
  },
  {STUDENT_NAME: "data2",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data",
   BOOL:true
  },
]

我尝试过使用concat()push()但 React 不适用于它们 =(

let i = 0;
for (i=0; i<JournalA.length; i++){
    console.log(JournalA.map[i].concat(JournalB.concat[i]));
}

标签: javascriptarraysmerge

解决方案


这可能是答案吗?

const Journal_A = [
  {STUDENT_NAME: "data1",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  },
  {STUDENT_NAME: "data2",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  },
  {STUDENT_NAME: "data3",
   STUDENT_SECOND_NAME: "data",
   STUDENT_LAST_NAME: "data",
   STUDENT_PHOTO: "data"
  }
]


const Journal_B = [{
  JOURNAL_DATA: '{"1": false, "2": false, "3": false}'
}]

const jData = JSON.parse( Journal_B[0].JOURNAL_DATA)

const result = Journal_A.map( ( item, idx ) => {
  item.BOOL = jData[ idx + 1 ]
  return item
} )

console.log(result)


推荐阅读