Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

?
Lv 6
? 發問於 電腦與網際網路程式設計 · 6 年前

JavaScript/arr.length

1234567var arr = []; arr["p"] = "abc";console.log(arr.length); arr[2.1] = "abc";console.log(arr.length);

為什麼會輸出成00呢?

1 個解答

評分
  • sponge
    Lv 6
    6 年前
    最愛解答

    請先參考下面兩篇 Stack Overflow 問答

    http://stackoverflow.com/questions/9526860/why-doe...

    http://stackoverflow.com/questions/6649283/how-are...

    Javascript 中 array 只能用非負整數當作 index

    因此您無法用字串或浮點數為 index

    字串為 index 就是設置它的 property

    2.1 當 index 也同義於 '2.1' 當 index, 變成與剛才字串的狀況一樣

    因此結論為您的指令都在設置 property 而不是設置 array data

    所以從頭到尾 array 的長度都沒有增加

    希望以上回答對您有幫助!

還有問題嗎?立即提問即可得到解答。