我是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
}
}
我正在寻找用'键更新我的对象:1'和'关键:2' 附上是我的代码。任何帮助将不胜感激。
答案 0 :(得分:6)
你的实际数组格式不正确,你应该用{}
替换包[]
,这样它就是一个有效的数组。
无论如何你应该使用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);
答案 1 :(得分:1)
我想你想做这样的事情。我假设您的数据是一个对象数组,而不是没有键的对象,正如您所建议的那样。
const data = data.map((el, index) => {
el.Key = index;
return el;
});