数组索引混淆
Array indexing confusion
我在Javascript中有一个名为"Files"的数组。数组的任何元素也可以是一维数组,并且没有嵌套数组的限制。
所以我在这里的情况是我的数组是动态的,当我在另一个数组中给出 Files 数组的该元素的索引时,我可以随时随地添加任何元素 var index = [0,1,3,5]
那么这意味着我必须访问这个数组Files[0][1][3][5]
。
我的问题,索引也可以var index = [0,1]
并且索引参数的数量不固定。那么我如何在 javascript 中编写一个函数,以便该函数可以返回"文件"元素的值,因为我将为其提供索引变量。
听起来你需要遍历所有索引。像这样的东西包装在函数中:
var Files = [[0, [1, 2, 3, [0,1,2,3,4,5,6]]]];
var index = [0, 1, 3, 5];
function getElement(arr, indexes) {
var val = arr,
parts = indexes;
while (val[parts[0]]) {
val = val[parts.shift()]
}
return parts.length == 0 ? val : null;
}
alert( getElement(Files, index) );
上面将修改index
数组,如果需要保留它,您可以在函数中使用它的副本:parts = indexes.slice()
。
我在 Python 中做到了,希望这对您有所帮助:
Index = [2,1,0]
Files = [[1,2,3],[[1,2],3], [[1,2,3,4,5],[[[1,2],[1,2,3,4,5]],[1,2,3]]]]
new_array = []
for i in range(len(Index)):
new_array = Files[Index[i]]
Files = new_array
print Files
[[1, 2], [1, 2, 3, 4, 5]]
这实质上是针对索引数组的每个阶段,减小 Files 数组的维度,直到找到 Files 的最后一个元素。不确定这是否有意义,如果我需要澄清,请告诉我。
相关文章:
- 是索引数组文字的好做法
- jQuery ajax请求,将索引数组作为关键字字符串
- Javascript中的名称索引-数组/对象
- 如何在对象中按值创建排序索引数组
- 提取索引数组中的整数值
- 来自 jsp 和 javascript 中的请求属性的对象索引数组
- 单击导航索引数组时发出双重警报
- 以编程方式声明基于索引数组的变量(使用谷歌网站列表页面)
- 索引数组 JavaScript 中索引的搜索值
- 根据值从索引数组中删除元素
- 如何检查名称索引数组中有多少个特定结果
- 从 JavaScript 数组中删除索引数组
- 创建一个索引数组,该数组的索引值为 JavaScript 中最常见的数组值
- JavaScript 如何用数组解释索引数组
- 在javascript中向索引数组添加超链接
- 非数字索引数组的长度
- JavaScript-偶数索引数组元素乘以2,奇数索引乘以3
- Javascript-使用索引数组访问数组的元素
- 从数组中删除索引数组
- 在javascript中用索引数组索引一个数组的数组