【问题标题】:How to replace array of object property name in javascript如何在javascript中替换对象属性名称的数组
【发布时间】:2019-07-25 15:58:48
【问题描述】:

我需要替换 javascript 中的对象数组。这是我的数据变量,我想更新数据变量

const data = [{name: "poran", id: "22"}];

预期值:

data = [{value: "poran", age: "22"}];

如何替换对象数组?

【问题讨论】:

  • 明确一点:您不能更改属性名称。您可以添加新属性并删除不需要的属性。

标签: javascript arrays object javascript-objects


【解决方案1】:

您可以使用.map() 和一些Object Destructuring 创建一个新数组:

const data = [{name:"poran",id:"22"}];

const result = data.map(({ name:value , id:age }) => ({value, age}));

console.log(result);

【讨论】:

  • 我第一次看到这种语法:{ name:value , id:age } - 非常好 +1 :)
【解决方案2】:

您可以在数组上使用.forEach() 循环:

data.forEach((obj) {
  obj.value = obj.name;
  obj.age = obj.id;
  delete obj.name;
  delete obj.id;
});

如果你只是用.map()创建一个新数组会简单一些,但如果你需要保留旧对象,因为还有很多其他属性,这可能会不那么混乱。

【讨论】:

    【解决方案3】:

    试试这个:

    const data = [{name:"poran",id:"22"}]
    const rst = data.map(res=>({value: res.name, age: res.id}));
    
    console.log(rst)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2018-04-11
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多