带键的javascript对象数组

时间:2017-02-07 13:31:45

标签: javascript arrays object key

我一直在搜索和搜索,但却找不到解决方案......即使很可能也很简单。我如何创造能够给我这个的东西:

myArray['key1'].FirstName = "First1";   
myArray['key1'].LastName = "Last1";   
myArray['key2'].FirstName = "First2";  
myArray['key2'].LastName = "Last2";  
myArray['key3'].FirstName = "First3";   
myArray['key3'].LastName = "Last3";

然后说出类似警告的内容(myArray [' key2']。FirstName);
我能否像以下一样迭代它:

for(i=0; i < myArray.length; i++){
    //do whatever
}

提前致谢!

4 个答案:

答案 0 :(得分:1)

在JavaScript中,我们使用这样的数组,[]用于数组,对象在{}

var MyArray = [
               {FirstName: "Firsname1" , LastName: "Lasname1"},
               {FirstName: "Firsname2" , LastName: "Lasname2"}
              ]

答案 1 :(得分:1)

你可以初始化一个类似的对象:

{
    "key1": {FirstName: "first1", LastName: "last1"}
    "key2": {FirstName: "first2", LastName: "last2"}
    "key3": {FirstName: "first3", LastName: "last3"}
}

初始化数组的示例函数:

function initArray(){
  for(var i=1; i< count+1; i++) {
        var newElement = {}
    newElement.FirstName = "first" + i;
    newElement.LastName = "last" + i;
    var keyName = "key" + i
    var obj = {};
    myArray[keyName] = newElement
    }
}

现在&#34; myArray [&#34; key2&#34;]可以访问。

http://jsfiddle.net/jq5Cf/18/

答案 2 :(得分:0)

你不能在javascript中做你想做的事情! (因为javascript不能做关联数组)

我会选择一个具有内部数组的对象来存储其他东西

var container = {};
container.things = [];
container.things.push({FirstName: 'First1', LastName: 'Last1'});

现在你可以做..

for(var i in container.things) {
    alert(container.things[i].FirstName);
}

答案 3 :(得分:0)

你的myarray变量构造是对象的对象的表示法。

var myArray = {'key1':
    {
        'FirstName' : "First1",
      'LastName' : "Last1"
    }};

为了访问这些值,应该像对象数组一样。

var myArray = [
    {
    'FirstName' : "First1",
      'LastName' : "Last1"
    },

];

或符号可以如下所示:

var data = {
    code: 42,
    items: [{
        id: 1,
        name: 'foo'
    }, {
        id: 2,
        name: 'bar'
    }]
};