Задать вопрос
@mate123

Удаление лишних слов из массива?

существует массив вида
arr = ["ВЕЛИК", "БОЛЬШЕ", "ВЕЛИКА", "ВЕЛИКО","БОЛЬШЕМУ"]
и т.д.
не могу придумать алгоритм который удаляет все вхождения слов в слова, на выходе должен остаться массив из слов "корней", arr = ["ВЕЛИК","БОЛЬШЕ"] т.к. слова ВЕЛИКА, ВЕЛИКО включают в себя слово ВЕЛИК, а слово БОЛЬШЕМУ включает в себя слово БОЛЬШЕ need some help pls...
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const result = [...arr]
  .sort((a, b) => a.length - b.length)
  .reduce((acc, n) => (
    acc.some(m => n.includes(m)) || acc.push(n),
    acc
  ), []);

или

const result = arr.filter((n, i, a) => !a.some((m, j) => i !== j && n.includes(m)));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы