簡體   English   中英

多維數組對象

[英]multi dimensional array objects

我正在嘗試使用JS訪問多維數組中的元素。 這似乎不起作用。 請幫助

var parsed = "";
 var myObject = [{
     firstname: "Jane",
     lastname: "Doe",
     email: "jdoe@email.com"
 }, {
     firstname: "Ja",
     lastname: "joe",
     email: "je@email.com"
 }];
 for (var prop in myObject) {
     parsed += prop + ": " + myObject[prop] + "\n";
 }
 alert(parsed);

您應該迭代數組並按名稱選擇適當的屬性:

var parsed = "";
var myObject = [{
     firstname: "Jane",
     lastname: "Doe",
     email: "jdoe@email.com"
  },
  {
     firstname: "Ja",
     lastname: "joe",
     email: "je@email.com"
  },
];
for(var item in myObject)
{
  for (var prop in item) {
    parsed += prop + ": " + item[prop] + "\n";
  }
}

您需要另一個循環來遍歷數組元素。

var parsed = "";
var myObject = [{
     firstname: "Jane",
     lastname: "Doe",
     email: "jdoe@email.com"
},
 {
     firstname: "Ja",
     lastname: "joe",
     email: "je@email.com"
 },
 ];
for (i = 0; i< myObject.length; i++){
    var myobj=  myObject[i];
  for (var prop in myobj) {
     parsed += prop + ": " + myobj[prop] + "\n";
 }
}
 alert(parsed);  

演示

這是適合您的代碼段。
您的基本錯誤是myObject是對象數組,因此您必須遍歷該數組,然后遍歷給定索引中的對象

var attr,
        prop,
        parsed = "",
        myObject = [
            {
                firstname: "Jane",
                lastname: "Doe",
                email: "jdoe@email.com"
            },
            {
                firstname: "Ja",
                lastname: "joe",
                email: "je@email.com"
            }
        ];


// My object is an array
myObject.forEach(function(item, index, array) {

    // Verify to see that the property you want is yours and not inherited
    for (attr in item) {
        if (item.hasOwnProperty(attr)) {
            parsed += attr + ": " + item[attr] + "\n";
        }
    }

})

alert(parsed);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM