Natebash
@Natebash
React, Vue, Angular, Navite JS, Python / Node JS

Удаление элемента(ов) из массива включающих точное совпадение или пересечение по числам?

Есть массив =

[
    {
        "start": 14,
        "end": 24,
    },
    {
        "start": 235,
        "end": 245,
    },
    {
        "start": 414,
        "end": 428
    }
]


Вопрос: Как из массива удалить все элементы, который не проходят проверку на:

start: 0; end: 45 = удалит из массив первый элемент, так как с 0 до 45 затрагивает полностью покрывают индексы первого элемента
start: 14, end: 245 = удалит первый и второй элемент из массива, так как покрывает первый, и второй
start: 14; end: 18 = удалит так же первый элемент, так как start затрагивает start первого элемента массива

Т.е любое включение числа, должно удалять из массива элемент который имеет схожее число или диапазон значений
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
Natebash
@Natebash Автор вопроса
React, Vue, Angular, Navite JS, Python / Node JS
https://protocoder.ru/alg/datescrossing
arr.filter(item => item.start > indexEnd || item.end < indexStart);

WbICHA спасибо) твой ответ тоже рабочий, по ссылку нашел более лаконичное решение, пересечение интервалов можно было найти при помощи сравнения конец\начало, начало\конец
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 13:00
70000 руб./за проект
28 нояб. 2024, в 12:59
30000 руб./за проект
28 нояб. 2024, в 12:58
5000 руб./за проект