пытается извлечь значение массива из списка чисел, но значение возвращается неверной длины массива - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь получить номер элемента массива из определенного массива.

например, если входное значение имеет число от 2,59 до 2,79, например, 2,65

, выход с использованием этой функции

   const gpaToLevel = [].concat(...
        [1.99, 2.19, 2.39, 2.59, 2.79, 2.99, 3.19, 3.39, 3.59, 3.79, 4.00].map((ending, j, endValue) =>
            Array(ending - (endValue[j-1] || -1)).fill(j)
        )
    );

должен быть равен 4, поскольку 2,65 меньше, чем2.79 и 2.79 имеют значение [4].

спасибо

1 Ответ

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

Я думаю, что вы ищете findIndex().Он принимает обратный вызов и возвращает индекс первого элемента, в котором обратный вызов возвращает true.

Итак, если ваш массив отсортирован, вы можете использовать:

arr = [1.99, 2.19, 2.39, 2.59, 2.79, 2.99, 3.19, 3.39, 3.59, 3.79, 4.00]

// 4
console.log(arr.findIndex(item => item > 2.65))
// 5 
console.log(arr.findIndex(item => item > 2.85))
// 0
console.log(arr.findIndex(item => item > 1.85))

// -1 -- no items greater than 4.0
console.log(arr.findIndex(item => item > 4.5))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...