javascript - 我如何组合两个数组以使用react以获得一个包含前两个数组中所有项目的新数组?

标签 javascript reactjs

我正在尝试根据它们都具有的共享属性来组合两个数组。我怎么能在 react 中做到这一点?我想将它们组合起来创建一个包含复选框以及所有其他项目的数组。

这里有两个示例数组:

const array1 = [ 
  {Handle: "handle1", title: "handle1"},
  {Handle: "handle2", title: "handle2"},
  {Handle: "handle3", title: "handle3"} ]
const array2 = [ 
  {Handle: "handle1", checkbox: true},
  {Handle: "handle2", checkbox: false},
  {Handle: "handle3", checkbox: true} ]

结果:

const array2 = [ 
  {Handle: "handle1", checkbox: true, title:"handle1"},
  {Handle: "handle2", checkbox: false, title:"handle2"},
  {Handle: "handle3", checkbox: true, title:"handle3"} ]

我如何以这样一种方式组合它们,以便获得一个新数组,该数组在正确的位置包含句柄、标题和复选框?

最佳答案

这样的事情可能会起作用,不确定数据会随着您要合并的对象名称而改变多少。

const array1 = [ 
  {Handle: "handle1", title: "handle1"},
 {Handle: "handle2", title: "handle2"},
 {Handle: "handle3", title: "handle3"} ]
 
 const array2 = [ 
  {Handle: "handle1", checkbox: true},
 {Handle: "handle2", checkbox: false},
 {Handle: "handle3", checkbox: true} ]
 
 
 const newArr = array1.map(v => {
    let obj = array2.find(o => o.Handle === v.Handle)
  
  if(obj) {
    v.checkbox = obj.checkbox
  }
  return v
 })
 
 console.log(newArr)

关于javascript - 我如何组合两个数组以使用react以获得一个包含前两个数组中所有项目的新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72364005/

相关文章:

javascript - Vanilla JavaScript : Disabling a given preexisting key-combo in a webpage

javascript - 如何引用一个对象而不是复制它?

oracle - 在生产中使用 Babel - 如何预编译脚本

javascript - react : Can not use HTML tags in Lerna

reactjs - 如何使用 React Hooks 清除点击点击间隔?

javascript - react _this2.setState 不是函数 - 可能的绑定(bind)问题

javascript - 有没有办法通过 JavaScript 中的域检索 cookie

javascript - 如果 responseType 是 arraybuffer,如何从 $http 读取 JSON 错误响应

reactjs - 由于 react 脚本错误,无法运行 React 项目

javascript - 如何为文本框添加多项自动完成功能?