将数组映射到对象数组

普热梅克

我得到了这样的对象数组:

const defaultActors = 
[
  {
   data: {name: "name1"}
  },
  {
   data: {name: "name2"}
  }
]

和一个像这样的简单数组:

   const actorsToBeAdded = ["nameX", "nameY"]

有一个简单的方法来做到这一点:

 const combinedActors =  [
      {
       data: {name: "name1"}
      },
      {
       data: {name: "name2"}
      },
      {
       data: {name: "nameX"} //newly added
      },
      {
       data: {name: "nameY"} //newly added
      }
    ]

我正在使用useState并尝试获取对象的组合数组,如下所示:

    setCombinedActors(
    actorsToBeAdded.map((actor) => 
      ({
        data: {name : actor} //data from [nameX, nameY] array
        //also need to spread data from {name: "name1" ...} array
       })
     )
   )

编辑:感谢您的答案。Concat确实得到一个数组,但是它是“直接”值和对象的数组,像这样

["name1", "name2", {Object_with_data},{Object_with_data}]

有没有办法

[{Object_with_data},{Object_with_data}, {Object_with_data},{Object_with_data}]

或这个

["name1", "name2", "name3", "name4"]

我创建了沙箱:https : //codesandbox.io/s/epic-taussig-zeyev? file =/ src/ App.js

感谢任何有兴趣的人!

chriptus13

您可以使用Array.prototype.concat如下方式连接两个数组

setCombinedActors(
    defaultActors.concat(
        actorsToBeAdded.map(actor => ({ data: { name : actor } }))
    )    
)

另外,您可能只想添加仍不在defaultActors数组中的actor ,为此可以使用如下过滤器:

setCombinedActors(
    defaultActors.concat(
        actorsToBeAdded
            .filter(actor => !defaultActors.some(({ data }) => data.name === actor))
            .map(actor => ({ data: { name : actor } }))
    )    
)

如果您想将全部转换为,请回答编辑String

arr.map(elm => typeof elm === 'string' ? elm : elm.data.name)

否则,如果您想要对象。

arr.map(elm => typeof elm === 'string' ? { data: { name: elm } } : elm)

注意:假设数组的所有元素都是String或结构为的对象{ data: { name: 'a string' } }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 javascript 对象映射到数组结构

来自分类Dev

将数组对象值映射到新数组

来自分类Dev

如何将数组或对象映射到对象?

来自分类Dev

将SwiftyJSON映射到数组

来自分类Dev

将多维数组对象映射到类中的变量

来自分类Dev

使用AutoMapper将字符串数组映射到对象

来自分类Dev

使用ValueInjecter将字符串数组映射到对象

来自分类Dev

JQ将数组映射到具有索引的对象-如何

来自分类Dev

将嵌套数组映射到父对象的键值对

来自分类Dev

将值映射到数组对象中的键

来自分类Dev

如何将异构JSON数组映射到Java对象?

来自分类Dev

RestTemplate将JSON数组映射到对象列表

来自分类Dev

RestKit:将嵌套数组映射到对象

来自分类Dev

jQuery-将HTML映射到对象的javascript数组

来自分类Dev

将数组映射到对象,键未定义

来自分类Dev

将数组部分映射到新数组

来自分类Dev

将索引数组映射到坐标数组

来自分类Dev

将键数组映射到值数组

来自分类Dev

将数组映射到数组内部

来自分类Dev

将数组映射到新数组

来自分类Dev

如何使用自动映射器将二维数组映射到“数组对象”的集合?

来自分类Dev

AutoMapper将对象映射到数组

来自分类Dev

通过对象列表将ID数组映射到字符串数组

来自分类Dev

RestKit-将数组的键路径映射到该数组内部的对象

来自分类Dev

如何将数组数组映射到属性和值之类的对象?

来自分类Dev

如何使用函数将多个 numpy 数组快速映射到不同对象的单个数组

来自分类Dev

将具有数组的数组映射到数组

来自分类Dev

Ruby:将字符串数组映射到数组数组

来自分类Dev

将数组中的对象和对象映射到单个对象的最佳方法

Related 相关文章

热门标签

归档