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でもよく使うから、ちゃんとマスターしなきゃね♪♪