 
			
				17.03.2018, 20:56
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		При этом если в массиве, который считает неправильно запросить просто определенные значения, он их выдает правильно. 
console.log(pr4arr[5][5]);
  console.log(pr4arr[3][7]);
 
Т.е. просто функция почему то отрабатывает некорректно.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:02
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.12.2016 
					
					
					
						Сообщений: 3,650
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 w и h специально переставили? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:14
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от j0hnik
			 
		
	 | 
 
	| 
		w и h специально переставили?
	 | 
 
	
 
 Да, я когда начал просматривать результаты, понял что он высоту и ширину местами меняет. Почему не понял. Если смотреть код, вроде все как надо, но выдавал наоборот.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:22
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Попробовал так 
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));
 
Первый массив считает правильно, второй нет...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		А так считает правильно все массивы, но ширина с высотой перепутаны получаются... 
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));
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 можно конечно в последнем случае убрать из функции w и h, сделать вместо них a и b, и просто передавать наоборот значения)) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 21:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Так пока оставил. Считает все массивы правильно. 
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 - ширина
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 22:40
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.12.2016 
					
					
					
						Сообщений: 3,650
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
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];
 
неужели результат поменялся?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 22:54
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.12.2016 
					
					
					
						Сообщений: 3,650
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 а в excel откуда импортировали? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.03.2018, 23:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2017 
					
					
					
						Сообщений: 186
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от j0hnik
			 
		
	 | 
 
	
		
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];
  
 
неужели результат поменялся?
	 | 
 
	
 
 Не, результат не поменялся. Просто w - ширина, h - высота. 
А когда задаются значения - то получается чтобы получить правильный ответ, нужно сделать w - высота, h - ширина. И чтобы не путаться, просто переименовал переменные.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |