Arrayオブジェクト
Arrayは配列を扱うためのオブジェクト。
メソッドを使って、要素の追加や削除だけでなく、並べ替えや配列の一部分を取り出すなどの処理ができる。
並べ替え
sort()メソッドはオブジェクトが保持している要素を並べ替える
var ary1 = new Array('bb','eeee','aaa','ddd','cc'); //文字列コード順でソートする var result1 = ary1.sort(); document.write("通常"+result1+"<br/>"); //独自のルールでソートする var sortFunc = function(a,b) { return a.lenght - b.lenght; //aの文字列が短ければ負の値を返却 }; //文字列長を優先するリテラル var result2 = ary1.sort(sortFunc); document.write("長さ順"+result2+"<br/>");
sort()メソッドの引数として、「ソート関数」を指定すると、ソート条件を変更することが出来る。
配列を文字列に変換
toString()メソッドをつかってオブジェクトが保持している値を、文字列に変換して取得できる。
var ary1 = new Array('aa','bb','cc'); //配列を定義 var aryString = ary1.join('/'); //文字列に変換 alert(typeof aryString + ':' + aryString);
配列を連結する
concatメソッドで配列を結合することができる。
var ary1 = new Array('aa','bb','cc'); var ary2 = new Array('dd','ee'); //concat()メソッドの結果を新しい配列に代入する var ary3 = ary1.concat(ary2); document.write(ary1.length + ':' + ary1 + '<br/>'); //ary1は変化しない document.write(ary3.length + ':' + ary3 + '<br/>'); //二つの要素がつながっている //concat()メソッドの結果を再代入して既存の配列を上書きする ary1 = ary1.concat(ary2); document.write(ary1.length + ':' + ary1 + '<br/>'); //ary1が変化する
concat()メソッドは複数の配列を結合して、新しい配列を作るので、元の配列は変化しないんだね♪♪
要素の追加と取得
push()メソッドで要素の追加、pop()メソッドで要素の取得が出来る
var ary1 = new Array('aa','bb','cc'); //push()メソッドで配列の末尾に要素を追加 ary1.push('dd'); //末尾に'dd'を追加 document.write(ary1+ '<br/>'); //pop()メソッドで配列の末尾から要素を取得 var pop1 = ary1.pop(); document.write(pop1 + '<br/>'); //'dd'が取り出される var pop2 = ary1.pop(); document.write(pop2 + '<br/>'); //'cc'が取り出される
shift()メソッドで配列の先頭から要素を取得、unshift()メソッドを使って配列の先頭に要素を追加出来る。
var ary1 = new Array('aa','bb','cc'); //shift()メソッドで配列の先頭から要素を取得 var shift1 = ary1.shift(); //'aa'が取り出される document.write(shift1 + '<br/>'); var shift2 = ary1.shift(); //'bb'が取り出される document.write(shift2 + '<br/>'); //unshiftメソッドで配列の先頭に要素を追加 ary1.unshift('ee'); //先頭に'ee'を追加 document.write(ary1 + '<br/>');
配列はPythonでもよく使うから、ちゃんとマスターしなきゃね♪♪