 
			
				01.02.2023, 22:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.06.2010 
					
					
					
						Сообщений: 673
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Логика в JS, не понимаю
			 
			
		
		
		
		Я вот не могу понять эту логику.  
Сразу скажу код работает как должен но я просто не могу понять как. 
 
const a = [1, 2, 3]
const b = [1, 2, 3]
const c = [2, 1, 3]
const areArraysEqual = (firstArray, secondArray) => {
    if(firstArray.every((el, ind) => el === secondArray[ind])
    ){
        return true
    }
    return false
}
console.log(areArraysEqual(a, b)) // true
console.log(areArraysEqual(a, c)) // false
Есть два массива я хочу проверить совпадают ли там элементы.  
И для этого создаю проверку с помощью метода every где есть два параметра элемента и индекса. Происходит следующее что берется элемент первого массива и сравнивается с элементом второго массива исходя из номера его индекса. И все работает. 
 
Но в моей логике что я взял первый элемент он 1 а индекс второго массива 0 То есть почему идет сравнение элементов если я написал элемент у первого массива  а у второго написал индекс, там же разные значения.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.02.2023, 23:13
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Сергей Ракипов
			
		
	 | 
 
	| 
		там же разные значения.
	 | 
 
	
 
 
alert(1 === 1)
 
что не так?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 00:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.06.2010 
					
					
					
						Сообщений: 673
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 рони, 
 тут просто тип данных сравнен 
 
а в моем примере сравниваются два массива  
const a = [1, 2, 3] 
где 1, 2, 3 это элементы у которых индекс 0 1 2 
 
я вижу это сравнение так  1 !== 0 true 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 00:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Сергей Ракипов, 
 вы когда обратились к массиву по индексу, то получили элемент. 
(el, ind) => el === secondArray[ind]) 
el это firstArray[ind] или 
(a[0], 0) => a[0] === b[0] или 
(1, 0) => 1 === 1 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 01:00
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.06.2010 
					
					
					
						Сообщений: 673
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 рони, 
 вот это что вы написали  (a[0], 0)  как я понял а это массив [0] это индекс массив  а через запятую 0 это что? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 01:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Сергей Ракипов, 
 (элемент_массива_под_индекс  ом_таким-то, индекс_такой_то) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 01:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Сергей Ракипов, 
 есть два дома , есть номера квартир, есть жильцы этих квартир, никто жильца не сравнивает с номером его квартиры, сравнивают жильцов по номеру. 
в первом доме, в нулевой комнате живёт единица и во втором доме, в нулевой комнате тоже живёт единица. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 01:47
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Сергей Ракипов, 
 (el, ind) => el === secondArray[ind]) 
(firstArray[ind] , ind) => firstArray[ind]  === secondArray[ind]) 
(a[0], 0) => a[0] === b[0]  
(1, 0) => 1 === 1 
все эти строки это одно и тоже для первого шага перебора элементов массива 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 02:12
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.06.2010 
					
					
					
						Сообщений: 673
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я вот сколько лет возвращаясь вновь и вновь освоить JS иногда думаю это не моё.  
 
Я вот так думаю  
дом это массив a[1, 2, 3] 
номера квартир это  а[0 1 2]  (то есть индекс для меня номер квартир) (далее я назову это ind) 
а жильцы это a[1, 2, 3] (элементы этого массива, то есть они могут быть числа, строки, переменные и т.д.) (далее я назову это el) 
 
И когда мне говорят сравни жильцов  двух домов  и если они одинаковые выведи тру  
 
a[1, 2, 3] 
в[1, 2, 3] 
 
я беру метод every который мне скажет номера домов и кто в них живет (это в параметрах el жилец и ind квартира), то есть индекс 0 1 3 это квартиры и в них живут жильцы 1,2,3  соответственно  
 
 
 
И вот из первого дома я имею жильца 1 А из второго дома я беру номер квартиры  
И мне говорят это одинаково или тру  
А у меня не доумение ну как же так это же вообще нельзя сравнивать. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.02.2023, 09:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Сергей Ракипов
			
		
	 | 
 
	| 
		И вот из первого дома я имею жильца 1 А из второго дома я беру номер квартиры
	 | 
 
	
 
 и берёте жильца по номеру квартиры
 
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Мы можем получить элемент, указав его номер в квадратных скобках:
	 | 
 
	
 
 читать  тут 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |