Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.04.2020, 17:40
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от jaroslav.tavgen Посмотреть сообщение
Или вообще отрицательные индексы как в Питоне. В splice они есть, а в обычной индексации массива - нет.
В javascript вообще нет такого понятия, как индекс массива. Есть свойства объекта. Они задаются строками (ну еще Symbol).
Ответить с цитированием
  #12 (permalink)  
Старый 07.04.2020, 17:48
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Eсли бы стандартом стал бы vb-script, я бы до сих пор сидел бы в Си и мне начхать было на тот же HTML5 с его WebGL…
Ответить с цитированием
  #13 (permalink)  
Старый 07.04.2020, 17:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от voraa
В javascript вообще нет такого понятия, как индекс массива
Это почему? Нет ассоциативных массивов, это да, но массивы в JS имеют индексы.
Ответить с цитированием
  #14 (permalink)  
Старый 07.04.2020, 18:07
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от 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.
Ответить с цитированием
  #15 (permalink)  
Старый 07.04.2020, 18:30
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от laimas Посмотреть сообщение
Нет ассоциативных массивов, это да,
А что в Вашем понимании ассоциативный массив?
Чем обычный объект не ассоциативный массив?
Только, что length нет. Да не особо и нужен.
Весь "ассоциативный массив" обработать можно через for in.

Последний раз редактировалось voraa, 07.04.2020 в 18:34.
Ответить с цитированием
  #16 (permalink)  
Старый 07.04.2020, 19:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от voraa
Какие индексы?
Массивы в JavaScript индексируются с нуля: первый элемент массива имеет индекс, равный 0, а индекс последнего элемента равен значению свойства массива length минус 1.

Это из одного из талмутов, другого суждения я ни где не встречал. А крутить и вертеть словами можно как угодно, о тех же "ассоциативных", сравнивая их с понятиями "свойства".
Ответить с цитированием
  #17 (permalink)  
Старый 07.04.2020, 19:25
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от 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.
Ответить с цитированием
  #18 (permalink)  
Старый 07.04.2020, 19:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

И к чему это все? Что значит обращение к элементу массива array[3], это по его индексу или есть иной термин, о котором знаете только вы?

Можно мусолить о различиях столько, что на диссертацию хватит, но есть понятие индекс, все остальное это уже словоблудие. Ибо если сравнивать тот же РНР с JS, в первом ассоциативный массив имеет ключи и никто, и ни когда не назовет их свойствами. В отличие от JS в РНР можно всегда получить третий символ строки как string[2] так как во внутреннем представлении в РНР строка это массив, а в JS нет. Но сколь лясы не точи, что в РНР, что в JS, это строковый тип данных. Вот так и с индексами, определят иное понятие этого тогда другое дело.
Ответить с цитированием
  #19 (permalink)  
Старый 07.04.2020, 20:04
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от laimas Посмотреть сообщение
В отличие от JS в РНР можно всегда получить третий символ строки как string[2]
Вы, наверно, чего то не знаете
console.log('string'[2]); // r
Ответить с цитированием
  #20 (permalink)  
Старый 07.04.2020, 20:06
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от laimas Посмотреть сообщение
И к чему это все? Что значит обращение к элементу массива array[3],
Это взять свойство объекта array с именем '3'
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему PHP в JavaScript? Chiz Общие вопросы Javascript 3 19.04.2012 21:08
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Помогите с javascript (Почему не работает) remus Оффтопик 9 09.06.2010 11:18
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24