【发布时间】:2019-10-03 02:04:55
【问题描述】:
我有一个要转换为数组的对象(下面的示例),但转换代码会丢弃密钥,并且需要在以后为每个循环引用密钥,但我不知道如何保留密钥。
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不像其他ID一样,请检查您的结构,澄清它是对象的array还是只是object。跨度> -
更新了代码以进行澄清。感谢您的帮助!
标签: javascript arrays object foreach