Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2015, 22:15
Аватар для nayldock
Интересующийся
Отправить личное сообщение для nayldock Посмотреть профиль Найти все сообщения от nayldock
 
Регистрация: 05.01.2015
Сообщений: 19

индексация строками
Подскажите пожалуйста, как узнать длину подобного массива?
worker = new Array;
worker["фамилия"] = "Петров";
worker["имя"] = "Николай";
worker["возраст"] = 35;
worker["образование"] = "Высшее";
worker["должность"] = "Главный инженер";
worker["оклад"] = 40000 + "руб.";


Если строки заменить индексами, свойство length отображает длину. А тут видимо иначе как-то
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2015, 22:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var worker = {
    "фамилия": "Петров",
    "имя": "Николай",
    "возраст": 35,
    "образование": "Высшее",
    "должность": "Главный инженер",
    "оклад": 40000 + "руб."
};

alert(Object.keys(worker).length);
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2015, 22:40
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Прочитай про массивы и объекты по подробнее. В JS нет ассоциативных массивов, вместо них можно использовать объекты как в примере Octane. Но в тоже самое время массивы в JS являются особыми типами объектов, благодаря чему к ним можно добавлять свойства.
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2015, 22:58
Аватар для nayldock
Интересующийся
Отправить личное сообщение для nayldock Посмотреть профиль Найти все сообщения от nayldock
 
Регистрация: 05.01.2015
Сообщений: 19

Сообщение от Safort Посмотреть сообщение
В JS нет ассоциативных массивов
Пару учебников, в данный момент открытые передо мной, утверждает обратное. Спасибо за ответы, буду разбираться дальше...
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2015, 23:19
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

nayldock,
Цитата:
Пару учебников, в данный момент открытые передо мной, утверждает обратное.
А можно ссылочки на страницы этих учебников?
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2015, 06:43
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Safort, в JS объекты и есть ассоциативные массивы. По крайней мере, многие так утверждают.
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2015, 09:03
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Пару учебников, в данный момент открытые передо мной, утверждает обратное. Спасибо за ответы, буду разбираться дальше...
В JS массивы МОГУТ быть ассоциативными, но это исключительно побочный эффект, возникающий от того, что Array наследует от Object. Для хранения значений по строковым ключам используются объекты, для того они и предназначены.
Ответить с цитированием
  #8 (permalink)  
Старый 10.01.2015, 10:26
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Safort
А можно ссылочки на страницы этих учебников?
http://learn.javascript.ru/object
интерфейс реализован (если так можно сказать в данном случае с учётом названия операций), значит являются
то, что при этом возможностей больше, этому не мешает
Ответить с цитированием
  #9 (permalink)  
Старый 10.01.2015, 22:15
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Ruslan_xDD,
Цитата:
Safort, в JS объекты и есть ассоциативные массивы. По крайней мере, многие так утверждают.
Не совсем, потому, что

Сообщение от Erolast Посмотреть сообщение
Array наследует от Object. Для хранения значений по строковым ключам используются объекты, для того они и предназначены.
и ещё
var o = {};
alert(typeof o);


Но, если рассматривать их с точки зрения утиного теста, то вполне.
Ответить с цитированием
  #10 (permalink)  
Старый 10.01.2015, 22:37
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Safort
Но, если рассматривать их с точки зрения утиного теста, то вполне.
подоплёка там такая

определение понятия:
понятие = родовое понятие + видовые отличия

например,
Цитата:
Шарик — бездомная собака, после опытной операции профессора Преображенского, ставшая человекообразным существом
как ни крути, Шарик - это собака
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разница между строками Shitbox2 Общие вопросы Javascript 2 15.05.2014 09:04
Iframe индексация роботами m4gz Общие вопросы Javascript 3 16.12.2011 20:06
Индексация xml-сайтов Istamendil Оффтопик 17 09.11.2011 12:35
ajax, history, навигация, адресная строка и индексация. все в одном. firsttinman AJAX и COMET 3 24.10.2011 18:14
двойной интервал между строками underW (X)HTML/CSS 4 03.05.2009 17:18