【问题标题】:How to spread this array object?如何传播这个数组对象?
【发布时间】:2020-12-03 09:46:45
【问题描述】:

我有以下对象:

const info = [{ name: 'John', address: 'america', gender: 'Male', job: 'SE' }];

我需要传播这个数组对象并将其作为

form:{
   name:"John",
   address:"america",
   gender:"Male",
   job:"SE"
}

我该怎么做?

【问题讨论】:

  • 数组的其他对象呢?
  • const formJson = {form: info[0]} console.log(formJson)
  • @souravsatyam - 问题或您的答案中没有 JSON,所以这是一个奇怪的标识符名称。 ;-)

标签: javascript reactjs spread


【解决方案1】:

除非您想制作对象的浅表副本,否则您不需要传播。相反,只需使用数组中的对象:

const form = info[0];

或作为对象的属性:

const obj = {form: info[0]};

此时,form/obj.forminfo[0] 都指向同一个对象。

如果您确实想要制作浅拷贝,那么传播很有用:

const form = {...info[0]};

const obj = {form: {...info[0]}};

在那里,form/obj.form 指向一个新对象,该对象具有info[0] 的属性的副本。

【讨论】:

    【解决方案2】:

    您可以解构数组并将想要的属性作为目标。

    const
        info = [{ "name": "John", "address": "america", "gender": "Male", "job": "SE" }],
        result = {};
    
    [{ ...result.form }] = info;
    
    console.log(result);

    【讨论】:

    • 我们还有其他记录。比如 info = [{ "name": "John", "address": "america", "gender": "Male", "job": "SE" },{ "name": "John", "address" :“美国”,“性别”:“男性”,“工作”:“SE”}],
    • 您期望从中得到什么结果?
    猜你喜欢
    • 1970-01-01
    • 2017-04-12
    • 2021-12-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2021-09-23
    • 2022-06-13
    • 1970-01-01
    相关资源
    最近更新 更多