Javascript在多维数组中搜索元素
Javascript search for element in multidimensional array
我有下面的代码来组合一个数组和一个数组的数组。
var arr1 = ["A", "B", "C", "D"];
var arr2 = [[1, 2, 3, 4, 3, 2],
[4, 3, 7, 2, 5, 3],
[8, 1, 9, 2, 8, 4],
[2, 5, 9, 8, 7, 6],
]
var result = [], i = -1;
while ( arr1[++i] ) {
result.push( [ arr1[i], arr2[i] ] );
}
这是最终数组的样子
var final =[["A", [1, 2, 3, 4, 3, 2]],
["B", [4, 3, 7, 2, 5, 3]],
["C", [8, 1, 9, 2, 8, 4]],
["D", [2, 5, 9, 8, 7, 6]],
]
我正在尝试创建一个函数,其中我提供的字母和列的索引#我想从数组的数组返回。
。如果我给它B
和2
,它将返回result[1][1][2]
即7
。
如果我输入D
和5
,它会返回result[3][1][5]
也就是6
我尝试使用indexOf
,但很难搜索,因为这个数组有3个维度。
这是一个jsFiddle我做了我的样本如有任何帮助,不胜感激
编辑:似乎我唯一的问题是返回列#的字母发生的地方。我如何使用indexOf来搜索在第一列中出现的字母?
我建议改变一下你的逻辑,如下所示:
var result = {}; // Make this to be an object
while ( arr1[++i] ) {
result[ arr1[i] ] = arr2[i];
}
这将创建一个类似下面的对象:
result = {
"A": [1,2,3,4,3,2],
"B": [4,3,7,2,5,3],
"C": [8,1,9,2,8,4],
"D": [2,5,9,8,7,6]
}
从它访问数据的方式是:
result['D'][5] // returns 6
请看这里的工作演示
这个函数如何:
function find(text, col) {
for(var i = 0; i < result.length; i++)
if(result[i][0].equals(text)) return result[i][1][col - 1];
return null;
}
console.log(find("B", 3));
var arr1 = ["A", "B", "C", "D"];
var arr2 = [
[1, 2, 3, 4, 3, 2],
[4, 3, 7, 2, 5, 3],
[8, 1, 9, 2, 8, 4],
[2, 5, 9, 8, 7, 6],
]
var result = [],
i = -1;
while (arr1[++i]) {
result.push([arr1[i], arr2[i]]);
}
console.log(result)
//Try to find element where text == "B" and return the 3rd column
console.log(find("B", 3))
function find(text, col) {
for (var i = 0; i < result.length; i++)
if (result[i][0] == text) return result[i][1][col - 1];
return null;
}
相关文章:
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 当我单击chrome的输入类型=搜索元素上的X时,是否触发了任何事件
- 隐藏Google自定义搜索元素API 2.0的搜索引擎ID
- 使用 JavaScript 搜索元素
- JavaScript 搜索元素
- Twitter Bootstrap 2.3 Typeahead 搜索元素名称与字符和在谷歌浏览器中
- 在大型DOM中使用document.querySelector可以更快地搜索元素
- 其他人如何在活动页面的DOM中搜索元素
- 按名称在HTML代码中搜索元素
- 在对象中搜索元素
- Javascript在多维数组中搜索元素
- 最快的搜索元素在html
- 使用下拉列表搜索元素
- 在Node.js中,读取.html文件目录并在其中搜索元素属性
- 在另一个网站上搜索元素
- js,根据数据名称查找/匹配/搜索元素存储的数据
- 在innerHTML中搜索元素的最佳方式
- 按类搜索元素,并将id放在jquery中的每个元素上
- 如何在Cstr数组中搜索元素
- 搜索元素无相