【发布时间】:2013-01-24 17:56:37
【问题描述】:
有人能解释一下这段代码吗?我不明白“for”结构中的内容。
var tree = {}
function addToTree(tree, array) {
for (var i = 0, length = array.length; i < length; i++) {
tree = tree[array[i]] = tree[array[i]] || {}
}
}
addToTree(tree, ["a", "b", "c"])
addToTree(tree, ["a", "b", "d"])
/*{
"a": {
"b": {
"c": {},
"d": {}
}
}
}*/
【问题讨论】:
-
呃……这段代码还能用吗?如果是这样,那么我也想知道发生了什么。
-
它可以将数组转换为树,它就像一个对象树,注释代码是树的输出。这是原帖:stackoverflow.com/q/3663096/2007780
-
我开始阅读您的代码并编写答案,但我无法得到与您相同的答案!在我看来,当这段代码运行时,
tree最后应该是一个空对象。
标签: javascript arrays tree