Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти максимально близкое минимальное число из многомерного массива (https://javascript.ru/forum/misc/73041-najjti-maksimalno-blizkoe-minimalnoe-chislo-iz-mnogomernogo-massiva.html)

рони 19.04.2018 15:55

the_little,
вангую, что в ваших массивах строки, а не числа, в этом и проблема.
в парсере не хватает + или parseInt

j0hnik 19.04.2018 16:47

function checkArr(arr,a,b) {
      return arr[arr.findIndex(el=>el[0]*1>a*1)-1][arr[0].findIndex(el=>el*1>b*1)-1];
    }


вот так попробуйте

the_little 19.04.2018 17:03

Цитата:

Сообщение от рони (Сообщение 483633)
the_little,
вангую, что в ваших массивах строки, а не числа, в этом и проблема.
в парсере не хватает + или parseInt

Проверю. почему то до 980 срабатывает, а дальше не работает...
Там вроде были какие-то настройки по поводу числе.
Посмотрю.
Спасибо!

the_little 19.04.2018 17:07

Цитата:

Сообщение от j0hnik (Сообщение 483646)
function checkArr(arr,a,b) {
      return arr[arr.findIndex(el=>el[0]*1>a*1)-1][arr[0].findIndex(el=>el*1>b*1)-1];
    }


вот так попробуйте

РАБОТАЕТ!!!
Я правильно понимаю, что умножением на 1 мы как бы говорим что там число, и из-за этого работает?

Т.е. все дело в формате?

рони 19.04.2018 17:12

Цитата:

Сообщение от the_little
Т.е. все дело в формате?

alert("980">"1000")

j0hnik 19.04.2018 17:22

Цитата:

Сообщение от the_little (Сообщение 483649)
РАБОТАЕТ!!!
Я правильно понимаю, что умножением на 1 мы как бы говорим что там число, и из-за этого работает?

преобразуем строку в число.
alert(typeof '1')

alert(typeof ('1'*1))

the_little 19.04.2018 17:42

Понял! Огромное спасибо!


Часовой пояс GMT +3, время: 21:37.