Массив буквальных массивов JavaScript - PullRequest
0 голосов
/ 10 марта 2011

У меня есть такой код JavaScript:

var faqOpener = {
   defaults: {
      idSelector: "#id",
      id: "2"
   },
...
  if (options && !jQuery.isEmptyObject(options))
     $.extend(this.defaults, options);
...

Как я могу преобразовать эту переменную в массив буквенных массивов, например:

var faqOpener = {
   defaults[]: {
      idSelector: "#id",
      id: "2"
   },
...

РЕДАКТИРОВАТЬ: Я буду использовать эту переменную по умолчанию из другого кода JavaScript.Как показано в примере, он имеет только один элемент в массиве литеральных массивов, однако я должен определить его правильно и иметь возможность передавать переменную длину (например, массив литеральных массивов, который имеет 3 массива или 1 или более в зависимости от этого) массив литеральных массивов.

Ответы [ 5 ]

4 голосов
/ 10 марта 2011
var faqOpener = {
   defaults: [{
      idSelector: "#id1",
      id: "1"
   }, 
   {
      idSelector: "#id2",
      id: "2"
   }],
...

или прямой

var defaults = [{
   idSelector: "#id1",
   id: "1"
}, 
{
   idSelector: "#id2",
   id: "2"
}];

Вопрос довольно неясен ...

3 голосов
/ 10 марта 2011
var faqOpener = {
   defaults: [
       { idSelector: "#id", id: "2" },
       { idSelector: "#id1", id: "21" }
   ]
};

Затем вы можете получить доступ к объектам по умолчанию:

faqOpner.defaults[0] 
faqOpner.defaults[1]
1 голос
/ 10 марта 2011

Попробуйте это:

var faqOpener = {
   defaults: [{
      idSelector: "#id",
      id: "2"
   }],
...

Можно использовать так:

faqOpener.defaults[0].id
1 голос
/ 10 марта 2011

Хотите, чтобы faqOpener.defaults был массивом объектов {idSelector, id}?В JS литерал массива ограничивается квадратными скобками, поэтому он будет выглядеть так:

var faqOpener = {
    defaults: [ 
       {
              idSelector: "#id",
              id: "2"
           },
           {
              idSelector: "#id3",
              id: "3"
           },
        ]
    };

Это не массив массивов, в точности;это массив ассоциативных массивов.«Массив» в JavaScript - это особый тип объекта с некоторыми особыми характеристиками.Любой старый объект JS является ассоциативным массивом.

0 голосов
/ 10 марта 2011

Это обычно называется JSON (нотация объектов JavaScript):

http://www.json.org/example.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...