gpt4 book ai didi

javascript - 如何遍历一个js对象并记录遍历路径?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:32 25 4
gpt4 key购买 nike

遍历一个对象很容易,但我发现自己很难找出遍历路径。

例如,这里我们有如下数据:

data = {
a: 'A',
b: {
d: [
'F',
'G'
],
e: 'D'
},
c: 'C'
}

我想输出这样的遍历路径:

['a']
['b', 'd', 0]
['b', 'd', 1]
['b', 'e']
['c']

如何编写算法?

最佳答案

function rec(currentObject, path) {
if (typeof currentObject !== "string" && currentObject.length) {
for (var i = 0; i < currentObject.length; i += 1) {
rec(currentObject[i], path.concat(i));
}
} else if (typeof currentObject === "object") {
for (var item in currentObject) {
rec(currentObject[item], path.concat(item))
}
} else {
console.log(path);
}
}

rec(data, []);

输出

[ 'a' ]
[ 'b', 'd', 0 ]
[ 'b', 'd', 1 ]
[ 'b', 'e' ]
[ 'c' ]

关于javascript - 如何遍历一个js对象并记录遍历路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22164220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com