我的菜单会显示"已选中"数组作为选项。然后,当选择一个项目时,它会将其分支作为新选项。
为了跟踪遍历,我创建了一个名为select的数组。因此,如果有人选择了第3个选项,则选择第1个选项,然后选择第6个选项select = [3,1,6]
只需将索引推入数组即可,我的问题是如何使用此数组创建对树的引用?
如果select是[3,1,6],我想创建一个函数,导致对tree[3][1][6]
的引用,也允许我通过剪掉数组的最后一个值来向后遍历。
(在coffeescript中)
tree:
name: 'name1'
branches:[
name: 'name2'
branches: [
name: 'name3'
branches: [
name: 'name4'
branches:[]
,
name: 'name5'
branches:[]
,
name: 'name6'
branches:[]
]
]
]
current = tree
#when clicked
$('.menu li').on 'click', ()->
select.push($(this).index())
for value in select
current = current+'['+value+']'
#this results in a string, not an actual reference to the tree.
答案 0 :(得分:0)
如果我理解你需要什么,用以下内容改变最后两行应该可以解决问题:
current = tree
for value in select
current = current['branches'][value]