 
			
				07.04.2020, 17:40
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от jaroslav.tavgen
			 
		
	 | 
 
	| 
		Или вообще отрицательные индексы как в Питоне. В splice они есть, а в обычной индексации массива - нет.
	 | 
 
	
 
 В javascript вообще нет такого понятия, как индекс массива. Есть свойства объекта. Они задаются строками (ну еще Symbol).  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 17:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.09.2009 
					
					
					
						Сообщений: 253
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Eсли бы стандартом стал бы vb-script, я бы до сих пор сидел бы в Си и мне начхать было на тот же HTML5 с его WebGL…   
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 17:53
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от voraa
			
		
	 | 
 
	| 
		В javascript вообще нет такого понятия, как индекс массива
	 | 
 
	
 
 Это почему? Нет ассоциативных массивов, это да, но массивы в JS имеют индексы.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 18:07
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Это почему? Нет ассоциативных массивов, это да, но массивы в JS имеют индексы.
	 | 
 
	
 
 Какие индексы? 
Массивы - это прежде всего объекты. Ну с некоторыми дополнительными прибамбасами (экзотические объекты). Но объекты. 
Индексы - это строки. Все числовые индексы преобразуются в строки и обрабатываются, как обычные свойства объекта.
 
let a=[1,2,3]
 
console.log (a[2]);    // 3 
console.log (a['2']);    // 3 
console.log (a['02']);   // undefined '2' !== '02'
 
a['1.5'] = 15 
console.log (a[1.5]) // 15
 
a[-1] = -1 
console.log (a[-1]) // -1 
console.log (a['-1']) // -1  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось voraa, 07.04.2020 в 18:21.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 18:30
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		 Нет ассоциативных массивов, это да,
	 | 
 
	
 
 А что в Вашем понимании ассоциативный массив? 
Чем обычный объект не ассоциативный массив? 
Только, что length нет. Да не особо и нужен.  
Весь "ассоциативный массив" обработать можно через for in.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось voraa, 07.04.2020 в 18:34.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 19:03
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от voraa
			
		
	 | 
 
	| 
		Какие индексы?
	 | 
 
	
 
 Массивы в JavaScript индексируются с нуля: первый элемент массива имеет индекс, равный 0, а индекс последнего элемента равен значению свойства массива length минус 1.
Это из одного из талмутов, другого суждения я ни где не встречал. А крутить и вертеть словами можно как угодно, о тех же "ассоциативных", сравнивая их с понятиями "свойства".  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 19:25
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		[i]А крутить и вертеть словами можно как угодно, о тех же "ассоциативных", сравнивая их с понятиями "свойства".
	 | 
 
	
 
 Это не слова. Это работающие операторы javascript. 
let a=[]; 
a['1.5'] = 15 
console.log (a[1.5]); // 15
 
a[-1] = -1 
console.log (a[-1]); // -1 
console.log (a['-1']); // -1
 
Единственная экзотичность объекта Array связана с обработкой свойства length.  
В остальном это обычный объект, где даже целочисленные свойства представлены строками.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось voraa, 07.04.2020 в 19:46.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 19:58
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 И к чему это все? Что значит обращение к элементу массива array[3], это по его индексу или есть иной термин, о котором знаете только вы? 
 
Можно мусолить о различиях столько, что на диссертацию хватит, но есть понятие индекс, все остальное это уже словоблудие. Ибо если сравнивать тот же РНР с JS, в первом ассоциативный массив имеет ключи и никто, и ни когда не назовет их свойствами. В отличие от JS в РНР можно всегда получить третий символ строки как string[2] так как во внутреннем представлении в РНР строка это массив, а в JS нет. Но сколь лясы не точи, что в РНР, что в JS, это строковый тип данных. Вот так и с индексами, определят иное понятие этого тогда другое дело. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 20:04
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		В отличие от JS в РНР можно всегда получить третий символ строки как string[2]
	 | 
 
	
 
 Вы, наверно, чего то не знаете 
console.log('string'[2]); // r  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.04.2020, 20:06
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		И к чему это все? Что значит обращение к элементу массива array[3],
	 | 
 
	
 
 Это взять свойство объекта array с именем '3'  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |