Javascript数组对象数组

这听起来像一个愚蠢的问题,但它在这里。 我有一个像这样格式化的js数组

 var locationID = [
              { ID: "ID1", location: "location1" },
              { ID: "ID2", location: "location2" },
              { ID: "ID3", location: "location3" },
   ];

我试图循环访问数组

for(i = 0; i < locationID.length;i++){
   var object = locationID[i];
}

我想从内部数组获取两个元素,以便识别ID和位置。 例如,我会通过object[0]还是object["ID"]来做到这一点。

还有一种更有效的方式来做我需要做的事情,比如每个循环或者沿着这些循环的东西。


使用object.IDobject['ID']

JavaScript中的对象 {}是关联或命名的数组。 (在许多语言中也称为地图,它们由字符串索引(在这种情况下)。

数组 [] ,用整数索引,从0开始计数到n-1 ,其中n是数组的长度。

如果要以编程方式遍历每个对象中的所有(键,值)对,则可以使用此方法。

报价(字符串文字)

重申下面我对单引号和双引号的评论:

如果你在[]里面谈论,不,[他们不重要]。 JavaScript将单引号和双引号视为几乎相同。 它们都表示字符串文字。 有趣的是,你可以在双引号内使用单引号,反之亦然: "I wanted to say 'Hello world!'"是一个(单个)有效的字符串,但'But I accidentally said "Goodbye"


这是一个基于Nicholas Zackas(YAHOO表演负责人)一书的优化循环。 我正在执行缓存数组长度,以防止在循环的每次迭代中重新评估数组长度。 请检查jsperf.com。 而且,本地循环总是比基于循环的jQuery.each和Array.prototype.forEach快。 这也支持ie8以下的浏览器

    var currentItem,
        locationInfo = [
          { ID: "ID1", location: "location1" },
          { ID: "ID2", location: "location2" },
          { ID: "ID3", location: "location3" },
        ];

    for (var i = 0, len = locationInfo.length; i < len; i++) {
        currentItem = locationInfo[i];

        console.log(currentItem.ID);//I prefer this because it shrinks down the size of the js file
        console.log(currentItem["ID"]);
    }

当您运行循环时,您已经将返回JSON中的每个对象。 你需要的是类似的东西

for(i = 0; i < locationID.length;i++){
   var object = {locationID[i].ID, locationID[i].location};
}

记住对象的属性是由它们的键访问的,因为它们是键 - 值对。

链接地址: http://www.djcxy.com/p/70009.html

上一篇: Javascript array object arrays

下一篇: Is the length of an array cached?