Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.05.2015, 14:43
Интересующийся
Отправить личное сообщение для sexbot Посмотреть профиль Найти все сообщения от sexbot
 
Регистрация: 09.05.2015
Сообщений: 27

Сообщение от laimas Посмотреть сообщение
Можно использовать массив массивов, в котором первый массив, это ключи, а второй их значения, если по каким либо причинам это будет удобнее объекта. А вот ассоциативных массивов в JS нет.
Не помню у Кнута чтоли было, что объект можно представить как ассоциативный массив, т.е. верно и обратное что объект - это ассоциативный массив, где ключи числа или строки, а значения другие объекты. Ты пытаешься сериализовать объект для его сохранения, это делается с помощью JSON.stringify(obj)
Ответить с цитированием
  #12 (permalink)  
Старый 09.05.2015, 15:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Я ничего не пытаюсь, а насчет терминов, ну так и кушетку можно назвать диваном. )
Ответить с цитированием
  #13 (permalink)  
Старый 11.05.2015, 13:59
Интересующийся
Посмотреть профиль Найти все сообщения от drDocument
 
Регистрация: 11.05.2015
Сообщений: 7

Сообщение от laimas
такого массива быть не может
Небольшое уточнение. Синтаксически он вполне может быть, однако, смысла в этом действительно, наверное нет, так как любой объект можно использовать в качестве массива, разве что для сахара. Собственно, тип объекта в данном случае меняется.

UPD Впрочем, смысл, таки, есть. Такая структура автоматически апдейтит свою длину. Мы получаем нечто вроде HTML-коллекции, только лучше.
transform=function(src){
 var arr=[]; for(var i in src){if(!src.hasOwnProperty(i)) return arr;
 arr[i]=src[i]} return arr}
 
arr=transform({foo: "bar", baz: "foo"})
ob={foo: "bar", length: 0}
arr[0]="foo"
ob[0]="foo"
console.log(arr, arr.length, arr.baz, ob.length)
arr.forEach(function(x){console.log(x)})

// ::: [ 'foo', foo: 'bar', baz: 'foo' ] 1 'foo' 0
// ::: foo

Последний раз редактировалось drDocument, 11.05.2015 в 14:24.
Ответить с цитированием
  #14 (permalink)  
Старый 11.05.2015, 14:32
Интересующийся
Посмотреть профиль Найти все сообщения от drDocument
 
Регистрация: 11.05.2015
Сообщений: 7

Сообщение от sexbot
Не помню у Кнута чтоли было, что объект можно представить как ассоциативный массив, т.е. верно и обратное что объект - это ассоциативный массив, где ключи числа или строки, а значения другие объекты.
Это не справедливо для js в общем случае. Если трактовать объект как карту, хеш и т.д., то да, но в Ъ-ООП языках объект -- это гораздо более абстрактное понятие, абстракция объекта ближе к понятию "интерфейс". А так-то да, можно, Кнут капитан, оказывается.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести массив объекта Skriptor Ваши сайты и скрипты 6 22.12.2014 17:39
динамическое обновление свойств объекта в цикле grego Общие вопросы Javascript 3 04.12.2013 23:29
Не могу вытащить массив из объекта по указателю из самого объекта bunta Общие вопросы Javascript 3 09.09.2010 18:44
Как отличить массив от объекта Ilyan Общие вопросы Javascript 3 20.04.2010 23:08
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00