gpt4 book ai didi

javascript - 如何从javascript树数组中选择一个项目?

转载 作者:行者123 更新时间:2023-11-30 07:17:58 25 4
gpt4 key购买 nike

我有一个 javascript 数组,它定义了一个像这样的无限树。

z=['~GROUPHEAD 0~',
'Intro',
'Summary',
['~GROUPHEAD 1~',
'Do this',
['~GROUPHEAD 2~',
'Task 1',
'Task 2'
]
]
]

现在
z[0]='~GROUPHEAD 0~';
z[1]='Intro';
z[2]='总结';
z[3][0]='~GROUPHEAD 1~';
z[3][1]='这样做';
z[3][2][0]='~GROUPHEAD 2~';
z[3][2][1]='任务 1';
z[3][2][2]='任务 2';
z...[0]是一个 header

问题

我想发送一个数字,例如 322 或 3.2.2 或 [3][2][2] 以选择“任务 2”(即 z[3][2] [2])
谁能帮忙;还有更好的方法吗?

编辑

我需要调用它 100 秒

最佳答案

这是一种方式:http://jsbin.com/uvenus (单击右上角的 在 jsbin.com 中编辑 进行操作)。这是代码:

Array.prototype.pick = function(num) {
var levels = num.split('.');
var out = this;
for (var i=0;i<levels.length;i++) {
out = out[parseInt(levels[i])];
}
return out;
};

// usage
myArray.pick('3.2.2');

所以我们在 Array 的实例上创建了一个名为 pick 的新方法,它接受一个字符串(3.2.2 对 JS 来说除了字符串之外没有任何意义)。我们将其拆分为点,然后遍历生成的数字数组,将每个数字作为索引应用于原始数组(索引首先使用 parseInt() 转换为整数,尽管 JS 会如果您将其遗漏,则会自动为您进行类型转换)。

如果你想让它更简单一点,它应该有一些错误检查你传入的字符串只包含有效的索引和类似的东西,但这应该让你开始! :)

关于javascript - 如何从javascript树数组中选择一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7354200/

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