Друг поставил квадрат. Какой самый чистый способ поиска двумерного массива в JavaScript для элемента и возврата индекса его содержащего массив?
То есть вернуть 2 Если попросили искать следующие для 8 Отказ
const haystack = [ [1,2,3], [4,5,6], [7,8,9] ]; const search = 8;
Моя первая попытка.
haystack.indexOf(haystack.find(arr => arr.includes(search))); <- 2
Потом, После изучения Findindex Отказ
haystack.findIndex(arr => arr.includes(search)); <- 2
Что, если вам нужен как столбец, так и строка в 2-D массиве? Следующие дубликаты части поиска, так что это не оптимально.
const row = haystack.findIndex(row => row.includes(search)); const col = haystack[row].indexOf(search);
Может быть, функциональный тело внутри Findindex. можно использовать индекс чего-либо вместо этого и обмана хранить его значение, пока еще возвращается правда или ложь держать от нарушения внешнего Findindex Хотя в этот момент это все еще функциональное программирование и стоит ли оно того, что он стоит использовать традиционные петли?
Оригинал: “https://dev.to/ptable/two-dimensional-array-search-4b2g”