Найти номер между двумя числами - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть массив чисел 0,1,2,3,4,5,6, начальный индекс и конечный индекс передаются случайным образом.Я должен выяснить, находится ли данное число между начальным индексом и конечным индексом. Например, если начальный индекс равен 0, а конечный индекс равен 3, мне нужно будет указать, является ли данное число 0,1,2 или 3.и вернуть false, если это 4,5 и 6. Теперь сложная часть для меня В случае, если начальный индекс равен 4, а конечный индекс равен 1, тогда мне нужно сказать, является ли число 4,5,6,0 или 1и вернуть false, если его 2 и 3

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете сначала отфильтровать элементы массива с помощью .filter(), а затем использовать .includes() для проверки существования:

let data = [0, 1, 2, 3, 4, 5, 6];

let checker = (arr, start, end, value) => (
    start <= end ?
    arr.filter((_, i) => i >= start && i <= end) :
    arr.filter((_, i) => i >= start || i <= end)
).includes(value);

console.log(checker(data, 0, 3, 1));
console.log(checker(data, 0, 3, 4));
console.log(checker(data, 4, 1, 5));
console.log(checker(data, 4, 1, 2));
console.log(checker(data, 4, 1, 1));
...