Поиск всех экземпляров конкретного слова в многомерном массивеJavascript

Форум по Javascript
Ответить
Anonymous
 Поиск всех экземпляров конкретного слова в многомерном массиве

Сообщение Anonymous »

У меня здесь есть вложенный массив: < /p>
const roster = [["Ryu","RyuNormal"], ["Ryu as Ken","RyuKen"], ["Ryu as Akuma","RyuAkuma"], ["Chun-Li","ChunLi"],["Zangief"]]
< /code>
и для петли, который будет создавать параметры для раскрывающегося меню: < /p>
for ([char, link] of roster) {
options += `\n ${char}`;
}
< /code>
Каждая кронштейна в вложенном массиве состоит из имени персонажа перед запятой, и переключателя ссылки после запятой. Если в кронштейне есть только одна запись, а не две (см. Zangief), следует предположить, что имя персонажа удваивается в виде переключателя, отсюда и двойные знаки вопросов. Если бы вы были на веб-страницах Chun-Li или Zangief, выпадающее меню с радостью показало бы вам движения Рю в дополнение к его формам Кена и Акумы (для тех, кто не знает, в первую игру Marvel vs. Capcom была возможность переключать стипы), поэтому их опционные теги были бы включены. Однако, если бы вы были на странице Рю, единственные теги опции, которые вы могли бы увидеть,-это Chun-Li's и Zangief's, которые являются предполагаемым результатом. < /P>
console.log(result) // [["Chun-Li","ChunLi"],["Zangief"]] if on Ryu page
console.log(result) // [["Ryu","RyuNormal"], ["Ryu as Ken","RyuKen"], ["Ryu as Akuma","RyuAkuma"], ["Zangief"]] if on Chun-Li page

< /code>
Я пробовал функции FindIndex и фильтра, но ни один из них не работал. Когда я попробовал функцию фильтра, журнал консоли продолжал поднимать весь массив, независимо от того, использовал ли я параметр! == или включение (). Функция FindIndex продолжала давать мне -1 (без совпадения) всякий раз, когда я пытался искать все записи, в которых было слово «ryu». Поскольку это был вложенный массив, используя скобки в моей области поиска в некоторой степени облегчали ситуацию, но были некоторые неудачи, такие как удаление Чун-Ли и Зангиф, потому что они были уникальными результатами, но удаление только одного экземпляра RYU, когда он должен был удалить все три экземпляра. половина любого массива в скобке? Сплайсинг массива является необязательным.

Подробнее здесь: https://stackoverflow.com/questions/795 ... onal-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»