javascript - 在 ES6 javascript 中更新现有对象数组

标签 javascript arrays json object ecmascript-6

我是 ES6 JavaScript 的新手。我正在寻找一种场景,我可以更新来自 Web 服务的对象数组并将数据格式传递给表。

我正在使用 ReactJS“rc-table”。

https://www.npmjs.com/package/rc-table

要以 rc-table 格式显示我们的数据,我们需要在来自后端的数据中有一个属性键:“somevalue”。

我的数据采用以下格式:

{
 {
   Name:'Robert',
   City: 'Barcelona'
 },
 {
   Name: 'Marguaritte',
  City: 'Baltimore'

 }
}

现在它将以 rc-table 格式显示,仅当对象具有唯一键属性时。

例如:

 {
 {
  Name:'Robert',
  City: 'Barcelona',
   Key:1
 },
 {
  Name: 'Marguaritte',
  City: 'Baltimore',
  Key:2

  }
 }

我正在寻找用“key:1”和“key:2”更新我的对象 附件是我的代码。任何帮助将不胜感激。

最佳答案

嗯,您的实际数组格式不正确,您应该将包装 {} 替换为 [],这样它就是一个有效的数组。

无论如何你应该使用Array.prototype.map() ,它将使用回调函数返回自定义数组,回调函数将 key 属性添加到每个迭代项。

你应该这样写你的代码:

var data = arr.map(function(item, index) {
  item.key = index + 1;
  return item;
});

ES6 解决方案:

使用 ES6 arrow functions 根据 Chester Millisock 的建议在评论中:

var data = arr.map((item, index) => {
   item.key = index + 1;
   return item;
}); 

演示:

var arr = [{
    Name: 'Robert',
    City: 'Barcelona'
  },
  {
    Name: 'Marguaritte',
    City: 'Baltimore'

  }
];

var data = arr.map((item, index) => {
   item.key = index + 1;
   return item;
}); 

console.log(data);

关于javascript - 在 ES6 javascript 中更新现有对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43552400/

相关文章:

javascript - N 级层次结构数组 Angular JS

java - 如何将 Json 对象作为整数值添加到 arrayList 中?

c# - 无法解析 JQuery ajax 调用返回的 JSON

javascript - 如何将动态创建的元素添加到动态创建的列表中?

javascript - 我不想在 asp.net mvc web/intranet 应用程序中关闭支持 javascript

javascript 将十六进制值的字符串表示形式转换为十六进制

javascript - 如果存在无法识别的运算符 javascript,则返回一个值

javascript - 窗口事件监听器内部的回调不起作用

javascript - 如何在js中简单地使用带有Abs()的eval字符串公式(谷歌应用程序脚本)

php - 我如何编写一个包含每个产品的多个值的数组