Есть массив который может иметь любое количество елементов, есть много маленьких текстов которые я получаю при итерацих по которому нужно провести поиск через indexOf(), нужно в результате всех итераций получить массив с string'ами которые проиндексированы так что если в string'е соответствий из массива неопределенной длины больше то они будут первыми в массиве, те что имеют минимум соответствий будут последними в массиве. Я тут ломаю голову как это сделать без удалений, изменений массива-результата, тоесть без unshift'ы всякие и вовсе все действия с массивом при котором большая часть елементов массива изменять свой индекс. Лишняя нагрузка не нужна.
Какой то пример:
const arr = ['apple', 'fish', 'doctor']
const texts = ['fish apple gray 84836', 'apple dog cat 858363', 'apple fish doctor 937226', 'dog cat friend 483837',...] // Это просто представление получения string'ов.
for (let text of texts) {
... // Тут каждый text нужно проверить на соответствия.
}
const result = ['apple fish doctor 937226','fish apple gray 84836','apple dog cat 858363'] // Это то как должен выглядеть массив результат.