【问题标题】:How change the name of property in array of objects good way? [duplicate]如何更改对象数组中的属性名称的好方法? [复制]
【发布时间】:2021-07-20 12:26:33
【问题描述】:

现在我有这样的对象

  let arr = [{name:'first'},{name:'first1'}]

预计

  [{value:'first'},{value:'first1'}]

我的尝试

  let result = arr.map(el=>{
  const {name, ...other} = el;

  return {value: el.name, ...other}
})

【问题讨论】:

  • 您的代码有效。有什么问题?

标签: javascript


【解决方案1】:

你可以这样做!

let arr = [{name:'first'},{name:'first1'}]  //{value: 'first'}

let result = arr.reduce((acc,el)=>{
  return [...acc, {'value' : el.name}]
},[])

【讨论】:

  • OP 的代码有什么问题。当输入和输出的元素数量相同时,为什么使用reduce 而不是map
  • 输出和输入数组的长度是否相同是一个偏好问题。否则reduce是一个聚合函数(最后返回单个值),map返回一个转换后的数组。
【解决方案2】:

您可以使用Array.prototype.map 转换数据。

let arr = [{name:'first'},{name:'first1'}]
let result = arr.map(x => {return {value: x.name}});
console.log(result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 2015-06-14
    • 2013-04-18
    • 2020-07-06
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多