使用javascript中的索引数组索引数组数组

IT技术 javascript arrays
2021-03-15 22:01:57

给定一个数组数组 [of arrays ...] 例如:

array[a][b][c][d][e]

以及一系列索引:

indexes = [ a, b, c, d, e ];

有没有一种优雅的方法来使用索引数组来索引数组?

我使用的蛮力方法是:

element = array[indexes[0]][indexes[1]][indexes[2]][indexes[3]][indexes[4]]

编辑

明确地说,我将能够使用从 1 到 n 元素的任意索引数组,其中 n 是数组嵌套的深度。

所以给出了上面的五级嵌套数组数组的例子,并给出了一个索引数组:

indexes2 = [ a, b, c ];

我希望检索:

array[a][b][c]
1个回答

您可以使用Array.reduce()来遍历indexes并获取您想要的元素。

// array[a][b][c][d][e]
var indexes = [ a, b, c, d, e ];

var element = indexes.reduce(function(prev, curr){
    return prev[curr];
}, array);
这似乎完全可以完成工作,并且不太可能是我自己偶然发现的解决方案。谢谢你。
2021-05-10 22:01:57