簡體   English   中英

JavaScript數組長度不變

[英]Javascript array length not changing

我有一個對象數組,它的長度似乎沒有更新。 我對Javascript數組一無所知?

http://stackoverflow.pastebin.com/aqZtRkkf

長度報告為0,並且將數組顯示為空,但是console.log將其顯示為具有數組索引!

我對這些陣列不了解什么?

謝謝你的時間! :+ D

  this.Hats[ "Red" ] = new Hat( oPar, "red" )
  this.Hats[ "Yellow" ] = new Hat( oPar, "yellow" );

這是您的問題所在。 您不是將數組用作數組,而只是將其用作對象,而是設置屬性Hats.Red和Hats.Yellow而不是填充數組索引。

嘗試這個:

  this.Hats.push( new Hat( oPar, "red" ) );
  this.Hats.push( new Hat( oPar, "yellow" ) );

JavaScript中的推送功能

您正在使用關聯數組。 這種類型的數組允許您為每個數組成員定義一個鍵。 以這種方式使用數組意味着沒有索引值可以遍歷成員,而可以使用for (var i in object)

for (var key in test.People["Fred"].Hats) {
    console.log(key);
}

暫無
暫無

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

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