Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 19.04.2018, 15:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

the_little,
вангую, что в ваших массивах строки, а не числа, в этом и проблема.
в парсере не хватает + или parseInt
Ответить с цитированием
  #32 (permalink)  
Старый 19.04.2018, 16:47
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

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];
    }


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

Сообщение от рони Посмотреть сообщение
the_little,
вангую, что в ваших массивах строки, а не числа, в этом и проблема.
в парсере не хватает + или parseInt
Проверю. почему то до 980 срабатывает, а дальше не работает...
Там вроде были какие-то настройки по поводу числе.
Посмотрю.
Спасибо!
Ответить с цитированием
  #34 (permalink)  
Старый 19.04.2018, 17:07
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от j0hnik Посмотреть сообщение
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 мы как бы говорим что там число, и из-за этого работает?

Т.е. все дело в формате?
Ответить с цитированием
  #35 (permalink)  
Старый 19.04.2018, 17:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от the_little
Т.е. все дело в формате?
alert("980">"1000")
Ответить с цитированием
  #36 (permalink)  
Старый 19.04.2018, 17:22
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

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

alert(typeof ('1'*1))

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать параметры (количество ячеек, минимальное число и максимальное число)? Почему SilentBelka Элементы интерфейса 4 19.10.2017 16:09
Обход многомерного массива с задержкой после каждого цикла Walk Общие вопросы Javascript 2 14.08.2017 16:17
Не могу выбрать из массива минимальное число Help DynkanMaclaud Events/DOM/Window 1 08.05.2015 20:30
Как найти наибольшее число и ввести его на экран? Ivan152 Оффтопик 2 20.05.2012 20:13