lengthプロパティについて
挙動
- 更新のタイミングはインデックスの最大値が更新された時
- 一番大きいインデックス+1の値を返している
通常(密な配列)
let fruits = ['apple','banana']; // lengthは2
疎な配列
let fruits = ['apple','banana'];
fruits[10] = 'orange'; // lengthは11になる
delete fruits[10]; // lengthは11のまま
fruits[8] = 'mango'; // lengthは11のまま
fruits[15] = 'grape'; // lengthは16になる
lengthを更新した場合
大きく更新(lengthプロパティが変わるだけ)
let fruits = ['apple','banana'];
fruits.length = 100; // lengthが100になるだけ
小さく更新(要素も更新される)
let fruits = ['apple','banana'];
fruits.length = 1;
console.log(fruits); // 0:'apple'
// ↑要素がなくなった!