javascript for in 遍歷陣列時索引是字串

javascript 有一個 for (const key in object) 的遍歷語法, 一般用來遍歷物,但也可以用來遍歷陣列: for (let i in array) ; 但雷點是,就算是陣列, 這裡得到的 key 會是字串,而不是數字。 所以做加減運算時會出錯。

看來 array 可以被 for in loop 純粹是個巧合, 因為 array 就是個物件, 而物件的索引值當然是字串。 一般用 for in loop 物件時,得到的索引本來就是字串, 而在 js 中陣列本來就是一種物件, 只是索引是用轉成數字,而且是轉成字串的數字。