При этом если в массиве, который считает неправильно запросить просто определенные значения, он их выдает правильно.
console.log(pr4arr[5][5]); console.log(pr4arr[3][7]); Т.е. просто функция почему то отрабатывает некорректно. |
w и h специально переставили?
|
Цитата:
|
Попробовал так
var func =(arr,w,h) => arr[arr.findIndex(el=>el[0]>h)-1][arr[0].findIndex(el=>el>w)-1]; console.log(func(price1Arr,2000,3000)); Первый массив считает правильно, второй нет... |
А так считает правильно все массивы, но ширина с высотой перепутаны получаются...
var func =(arr,w,h) => arr[arr.findIndex(el=>el[0]>w)-1][arr[0].findIndex(el=>el>h)-1]; console.log(func(price1Arr,2000,3000)); |
можно конечно в последнем случае убрать из функции w и h, сделать вместо них a и b, и просто передавать наоборот значения))
|
Так пока оставил. Считает все массивы правильно.
var func =(arr,a,b) => arr[arr.findIndex(el=>el[0]>a)-1][arr[0].findIndex(el=>el>b)-1]; console.log(func(pr4arr,2000,3000)); // 2000 - высота, 3000 - ширина console.log(func(pr4arr,3000,2200)); // 3000 - высота, 2200 - ширина console.log(func(pr4arr,1700,4000)); // 1700 - высота, 4000 - ширина |
var func =(arr,w,h) => arr[arr.findIndex(el=>el[0]>w)-1][arr[0].findIndex(el=>el>h)-1]; var func =(arr,a,b) => arr[arr.findIndex(el=>el[0]>a)-1][arr[0].findIndex(el=>el>b)-1]; неужели результат поменялся? |
а в excel откуда импортировали?
|
Цитата:
А когда задаются значения - то получается чтобы получить правильный ответ, нужно сделать w - высота, h - ширина. И чтобы не путаться, просто переименовал переменные. |
Часовой пояс GMT +3, время: 15:35. |