我試圖將Javascript對象字面量轉換爲另一個對象字面量。我認爲這是可能的一些循環,但我無法完成。目標結構如下所示,「convertedData」。Javascript - 將大對象字面量轉換爲另一個對象字面量
小提琴可以在這裏找到:http://jsbin.com/ajemih/9/edit
這裏的JSON數據:
var data =
{
"29-10-2012": {
"1a": {
"allMovement": "1",
"allLoad": "2",
"loadMovement": "3"
},
"1b": {
"allMovement": 4,
"allLoad": 5,
"loadMovement": 6
}
},
"22-02-2013": {
"1a": {
"allMovement": "7",
"allLoad": "8",
"loadMovement": "9"
},
"1b": {
"allMovement": "10",
"allLoad": "11",
"loadMovement": "12"
}
}
};
for (day in data) {
for (id in data[day]) {
document.write(data[day][id].allMovement+"<br>");
document.write(data[day][id].allLoad+"<br>");
document.write(data[day][id].loadMovement+"<br>");
}
}
/*
convertedData = [[1,7],
[2, 8],
[3, 9],
["4","10"],
["5","11"],
["6", "12"]];
convertedData = [["1a-allMovement-29-10-2012","1a-allMovement-22-02-2013],
["1a-allLoad-29-10-2012", "1a-allLoad22-02-2013"],
["1a-loadMovement-29-10-2012", "1a-loadMovement-22-02-2013"],
["1b-allMovement-29-10-2012","1a-allMovement-22-02-2013"],
["1b-allLoad-29-10-2012","1b-allLoad22-02-2013"],
["1b-loadMovement-29-10-2012", "1b-loadMovement-22-02-2013"]];
*/
您的jsFiddle不會爲我加載。另外,是的,你需要一個循環,大概是3. – Halcyon 2013-03-09 00:14:25
大聲笑,我曾經有過這樣的面試問題。有一個設定深度還是理論上的深度是無限的?將採取幾個循環或遞歸 – jyore 2013-03-09 00:35:49
深度就像在例子中,而不是在理論上是無限的。 – 2013-03-09 08:22:18