javascript for in 遍歷陣列時索引是字串
javascript 有一個 for (const key in object)
的遍歷語法,
一般用來遍歷物,但也可以用來遍歷陣列:
for (let i in array)
;
但雷點是,就算是陣列,
這裡得到的 key 會是字串,而不是數字。
所以做加減運算時會出錯。
看來 array 可以被 for in loop 純粹是個巧合, 因為 array 就是個物件, 而物件的索引值當然是字串。 一般用 for in loop 物件時,得到的索引本來就是字串, 而在 js 中陣列本來就是一種物件, 只是索引是用轉成數字,而且是轉成字串的數字。