我試圖從一個對象中的鍵創建數組。我可能在這個結構中有一個對象:遍歷一個對象並選取鍵/值
$scope.myobj = {
'level1': {
'level1Sub1': {
'result': 'level1-level1Sub1-result'
},
'level1Sub2': {
'result': 'level1-level1Sub2-result'
}
},
'level2': {
'level2Sub1': {
'result': 'level2-level2Sub1-result'
},
'level2Sub2': {
'result': 'level2-level2Sub2-result'
}
}
}
相同級別的元素進入同一個數組。 因此,在這種情況下,結果應該是:
TopLevelArr = [level1, level2]
SecondLevelArr = [level1Sub1, level1Sub2,level2Sub1,level2Sub2]
使用jQuery遍歷整個對象
林:
var path = "";
$.each($scope.myobj, walker);
function walker(key, value) {
var savepath = path;
path = path ? (path + "." + key) : key;
console.log(path)
if (value !== null && typeof value === "object") {
// Recurse into children
$.each(value, walker);
}
path = savepath;
}
這應該是相當接近,如果我能找到一種方法,通過鑰匙進入基於其級別的適當陣列。
http://jsfiddle.net/bald1/ys05m1s8/2/
幫助讚賞。謝謝。
考查['Object.keys()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/鍵)... –
做級別++; $。每();水平 - ;比級別應該包含你需要的數字... –
你只需要2級所有的時間? – charlietfl