我有一个对象(下面的示例),我正在将其转换为数组,但转换代码删除了 key ,并且需要在以后的每个循环中引用该 key ,但我无法弄清楚如何保留该 key 。
let json = {
"6250": {
"property1": "...",
"property2": "..."
},
"6177": {
"property1": "...",
"property2": "..."
},
"5870": {
"property1": "...",
"property2": "..."
},
"4297": {
"property1": "...",
"property2": "..."
},
"5743": {
"property1": "...",
"property2": "..."
}
}
function json2array(json){
var result = [];
var keys = Object.keys(json);
keys.forEach(function(key){
result.push(json[key]);
});
return result;
}
var array = json2array(json);
array.forEach(function(elem, i) {
Output.push(name, elem["property1"], elem["property2"]]);
});
例如,第一个循环中的“name
”应该是 6250
。
最佳答案
Object.entries()似乎具有您需要的所有功能。它将为输入对象的每个属性返回一个 [key, value] 数组。这意味着输出将是一个二维数组。
let array2d = Object.entries(json);
array2d.forEach(function (elem) {
Output.push(elem[0], elem[1].property1, elem[1].property2);
});
关于javascript - 引用对象数组中的对象标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157625/