У меня есть три многомерных массива. Функция findIndex будет проходить через один из массивов, если я установил последнюю строку findIndex (arrayTwo) и выплюнул переменную item и index, указав мне, где находится переменная idName.Прохождение через массив многомерных массивов JS и ведение журнала индексов
Пример: если я вызову findIndex (arrayTwo), он будет конфисковать элемент журнала: 2 | индекс: 1 http://jsfiddle.net/vap03jfL/
Проблема в том, что при запуске функции findIndex (arrayCombine) она будет выполнять поиск только по первым двум уровням нового набора массивов. Я знаю, что мне нужно искать один уровень глубже и возвращать значение для самого верхнего массива, но я не нашел того, что мне нужно. Я также читал, что способ, которым я это делаю, может быть не лучшим. начать с.
var arrayOne = [
["a", "b", "c", "d"],
["e", "f", "g", "h"],
["i", "j", "k", "l"],
["m", "n", "o", "p"]
];
var arrayTwo = [
["Z1", "Y1", "X2", "W2"],
["V2", "U3", "T3", "S3"],
["R3", "Q3", "P3", "O3"],
["N4", "M2", "L2", "K2"]
];
var arrayThree = [
["Z", "Y", "X", "W"],
["V", "U", "T", "S"],
["R", "Q", "P", "O"],
["N", "M", "L", "K"]
];
var arrayCombine = [
[arrayOne],
[arrayTwo],
[arrayThree]
]
function findIndex(arrayArg) {
idName = "Q3";
for (var item in arrayArg) {
console.log("item: " + item);
if (arrayArg[item].indexOf(idName)) {
var index = arrayArg[item].indexOf(idName);
console.log("index: " + index);
if (index != -1) {
console.log("item found: " + item);
console.log("index found: " + index);
break;
}
}
}
}
findIndex(arrayCombine);
Любая помощь была бы принята с благодарностью. Спасибо.
поясню немного ... В настоящее время изменения вызова функции в нижней части к findIndex (arrayTwo) и до сих пор в поисках «Q3» на выходе соответствует ожидаемое место в массиве. "найденный товар: 2" | «найденный индекс: 1» С вызовом findIndex (arrayCombine) Я ищу вывод из «массив: 1» | "найденный товар: 2" | «найденный индекс: 1» Таким образом, я могу использовать эти переменные и подключить их к другой функции в другом месте. –