更改对象数组中的键名?

新手上路,请多包涵

如何更改对象数组中的键名?

 var arrayObj = [{key1:'value1', key2:'value2'},{key1:'value1', key2:'value2'}];

如何将每个 key1 更改为 stroke 以便我得到:

 var arrayObj = [{stroke:'value1', key2:'value2'},{stroke:'value1', key2:'value2'}];

原文由 John Cooper 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 557
2 个回答
var i;
for(i = 0; i < arrayObj.length; i++){
    arrayObj[i].stroke = arrayObj[i]['key1'];
    delete arrayObj[i].key1;
}

原文由 Paul 发布,翻译遵循 CC BY-SA 3.0 许可协议

在最近的 JavaScript(和 TypeScript)中,使用 rest syntaxspread syntaxarray map 的解构来替换对象数组中的一个关键字符串。

 const arrayOfObj = [{
  key1: 'value1',
  key2: 'value2'
}, {
  key1: 'value1',
  key2: 'value2'
}];
const newArrayOfObj = arrayOfObj.map(({
  key1: stroke,
  ...rest
}) => ({
  stroke,
  ...rest
}));

console.log(newArrayOfObj);

原文由 Marcus 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏