0

他们有什么方法可以使用非数字索引在 Javascript 中创建多维数组吗?

像结构

                optionList[0]['id'] = "equals"; 
                optionList[0]['name'] = "Equals";

                optionList[1]['id'] = "not_equals_str"; 
                optionList[1]['name'] = "Does Not Equal";

                optionList[2]['id'] = "contains"; 
                optionList[2]['name'] = "Contains";
4

5 回答 5

2

是的,至少某种对象可以做你想做的事,即使它不是真正的“多维数组”。

您创建一个模维数组。

然后用简单的 javascript 对象填充它,您可以将其视为某种用于多种用途的映射。

var optionList = [];
optionList.push({});
optionList[0]['id'] = "equals"; 
...

您可以一次性创建它:

var optionList = [
    {id:"equals", name:"Equals"},
    ...
];
于 2012-08-24T12:00:06.733 回答
2

在 JavaScript 中,您应该将对象用作具有非数字索引的数组。因此,您的结构将如下所示:

var optionList = [
    {
        id : "equals",
        name : "Equals"
    },
    {
        id : "not_equals_str",
        name : "Does Not Equal"
    },
    {
        id : "contains",
        name : "Contains"
    }
];
于 2012-08-24T12:00:32.793 回答
0

这些是包含对象的数组。它看起来像这样:

var optionList = [
    {},
    {},
    {}
];
于 2012-08-24T12:01:01.013 回答
0

是的,您始终可以嵌套对象。

optionList = [{
      id: "equals",
      name: "Equals"
   },{
      id: "not_equals_str",
      name: "Does not Equal"
   },{
      id: "contains",
      name: "Contains"
   }]
于 2012-08-24T12:01:33.807 回答
0

是的。您必须定义一个空数组,然后将这些详细信息作为对象推送到其中。

 var optionList = [];
 optionList.push({id: 'equals', name: 'equals'});
 optionList.push({id: 'not_equals_str', name: 'Does Not Equal'});

希望这可以帮助。

于 2012-08-24T12:02:23.650 回答