Показать сообщение отдельно
  #24 (permalink)  
Старый 19.04.2018, 14:29
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Возник вопрос с поиском нужного элемента в массива.
Вот код, которым пользуюсь.
function checkArr(arr,a,b) {
      return arr[arr.findIndex(el=>el[0]>a)-1][arr[0].findIndex(el=>el>b)-1];
    }

Я так понимаю смысл такой. Находится элемент который больше заданного значения, и потом индекс уменьшается на 1.
Тогда задача так и стояла, если значение попадает между 2-х заданных, считать по меньшему.
Все работает как надо.

Сейчас задача обратная. Считать по большему.
Я попробовал изменить функцию на такую (вроде как должен искать меньшее и потом индекс увеличивать на 1), но выдает всегда минимальное значение...
function checkArr(arr,a,b) {
      return arr[arr.findIndex(el=>el[0]<a)+1][arr[0].findIndex(el=>el<b)+1];
    }
Ответить с цитированием