覚えなければならないJavascript知識:巧用配列のlength属性
1301 ワード
配列のlength属性
配列のlength属性が特徴的です.読み取り専用だけではありません.
したがって、この属性を設定することにより、配列の最後から項目を削除したり、配列に新しい項目を追加することができます.
まず列を見てください.
また、そのlength属性を配列の数より大きい値に設定すると、新たに追加された各項目はundefined値を取得し、以下のようになる.
一方、現在の配列サイズを超えた位置に値を置くと、行列は長さ値をカウントし直します.つまり、長さ値は最後の項目のインデックスに1を加算します.
————以上の知識点は「JavaScript高級プログラム設計(第三版)」から来ています.
配列のlength属性が特徴的です.読み取り専用だけではありません.
したがって、この属性を設定することにより、配列の最後から項目を削除したり、配列に新しい項目を追加することができます.
まず列を見てください.
var colors = ['red','blue','green'];
colors.length = 2;
alert(colors[2]); //undefined
このように、length属性を配列の項数の値に設定すると、最後の項目が削除されます.またこの項目にアクセスするとundefinedが表示されます.また、そのlength属性を配列の数より大きい値に設定すると、新たに追加された各項目はundefined値を取得し、以下のようになる.
var colors = ['red','blue','green'];
colors.length = 4;
alert(colors[3]) // , undefined, length 4,
したがって、length属性を利用して、配列の終わりに新しいエントリを追加するのにも便利である.var colors = ['red','blue','green'];
colors[colors.length] = 'black'; // 3
colors[colors.length] = 'pink'; // 4
配列の最後の項目の索引は常にlength-1であるため、次の項目の位置はlengthである.配列の最後にアイテムを追加するたびに、そのlength属性は自動的に更新され、この変化に反応します.一方、現在の配列サイズを超えた位置に値を置くと、行列は長さ値をカウントし直します.つまり、長さ値は最後の項目のインデックスに1を加算します.
var colors = ['red','blue','green'];
colors[99] = 'black';
alert(colors.length); // 100
以上のように、colors配列の位置99に値を挿入した結果、配列の新しい長さは100であり(99+1)、位置3〜位置98は実際には存在しないので、それらにアクセスするとundefinedに戻ります.————以上の知識点は「JavaScript高級プログラム設計(第三版)」から来ています.