如何在JSON下面添加uniqueId字段。该数组具有大量数据,需要在现有数组上动态唯一标识符。
[{"title":"Accompanying"},{"title":"Chamber music"},{"title":"Church
音乐“} ......]
因此,它应该如下所示:
[{"title":"Accompanying", "uniqueId": 1},{"title":"Chamber music", "uniqueId": 2}..]
注意:由于不知道“标题”或其他字段,因此无法按名称映射字段。
答案 0 :(得分:3)
我会进行简单的for循环
let myArray = [{"title":"Accompanying"},{"title":"Chamber music"},{"title":"Church music"}];
let i = 0, ln = myArray.length;
for (i;i<ln;i++){
myArray[i].uniqueId = i+1;
}
console.log(myArray);
答案 1 :(得分:1)
如果这是一次性的事情,则可以执行以下操作:
i
如果您想改用guid生成器(建议这样做),只需将const newArray = oldArray.map((x) => ({ ...x, uniqueId: generateGuid() }));
替换为用于生成GUID的内容,并确保您每次添加到集合中都可以为该生成新的GUID数据。
const yourDynamicObjects = [
{
title: 'A title',
author: 'A. Author'
},
{
foo: 'bar',
},
{
quotient: 2,
irrational: Math.sqrt(2)
}
];
const updatedData = yourDynamicObjects.map((x, i) => ({ ...x, uniqueId: i, }));
console.log(updatedData);
map
答案 2 :(得分:0)
您可以使用index
并在其回调函数中使用Object.keys
参数创建uniqueId
item.title实际上并不称为其动态数组,因此,可以 没有使用特定的字段名称映射
在这种情况下,使用let k = [{
"title": "Accompanying"
}, {
"title": "Chamber music"
}, {
"title": "Church"
}]
let getArrayKey = Object.keys(k[0]);
let n = k.map(function(item, index) {
let obj = {};
getArrayKey.forEach(function(elem) {
obj[elem] = item[elem];
})
obj.uniqueId = index + 1
return obj;
});
console.log(n)
获取所有键的数组。然后循环遍历并将密钥添加到新对象
let k = [{
"title": "Accompanying"
}, {
"title": "Chamber music"
}, {
"title": "Church"
}]
let n = k.map(function(item, index) {
return Object.assign({}, { ...item,
uniqueId: index + 1
})
});
console.log(n)
还可以使用传播算子
public String funciones(String arguments){
//Many operations . . .
animalInterface.executeSol(integer id, String msg); <-- void
return soluciones;
}