let arr = [1, 2, 3, 4, 5];
console.log(arr.length); //5
配列の要素数を知りたい時に使う「length」。ちょいちょい使うので単純にそういうもんだとばかり思っていたら、それだけじゃなかった。
意外ではなく常識なのかもだけど、lengthプロパティが上書きできると知って驚き!こういう時、ちゃんと書籍とかで勉強しといた方が良いんだろうなって思う^^;
例えば、要素数5の配列のlengthを、あとから2にすると・・・。
let arr = [1, 2, 3, 4, 5];
console.log(arr.length); //5
arr.length = 2;
console.log(arr.length); //2
console.log(arr); //[ 1, 2 ]
console.log(arr[3]); //undefined
arr[2]
以降は消滅!要素数2の配列になってしまった。arr.length=2
を受け付けちゃうなんて、とても柔軟でホスピタリティ溢れる対応 ワァ(・∀・)オ
だから、こんなこともできちゃう。
let arr = [4, 3, 1, 2, 5];
arr.sort().length = 3;
console.log(arr); // [ 1, 2, 3 ]
配列内の小さい数字BEST3を抽出^^)b
こんなことも。
let arr = [1, 2, 3, 4, 5];
arr.length = 0;
console.log(arr); // []
arr.length=0
で配列をリセット!こんな書き方する機会があるかは知らないけど^^;