配列(Array)


SYNTAX arr.sort( [function] ) arr.push() arr.pop() String join( String sep )


結合(concat)


var a, b, c, d; a = new Array(1,2,3); b = "test"; c = new Array(42, "foo"); // [1, 2, 3, "test", 42, "foo"] d = a.concat(b, c);



追加(push)


var a = ["a"]; a.push( "b" ); a.push( 2 );



挿入.insert push_front


SYNTAX Object unshift()
var a = [ 1, 2 ]; // [ 0, 1, 2 ] a.unshift( 0 );



反転 invert reverse


このメソッドを実行しても 新しい Array オブジェクトは作成されません。
a.reverse();



取得.削除 pop_front


SYNTAX a.shift() DESC 配列の先頭の要素を削除し、削除した要素を返します。
var a = ["a", "b", "c" ]; // "a" が返り, ["b", "c"] となる var s = a.shift();



削除 pop pop_front


末尾を削除するには pop() を使う。
var path = "c:/foo/bar/test.txt"; var a = path.split( "/" ); var file = a.pop();
先頭を削除。
var s = a.shift();
] 配列の要素を削除するには単項演算子 delete をつかう
var a = ["a", "b", "c"]; delete a[1];



抽出 slice SubSet


SYNTAX Array slice( start : Number // 開始 index [, end : Number] // 終了 index ) DESC 配列の部分配列を返す。 [START END) の index の範囲を返す。
a = [ 1, 2, 3 ]; // 先頭( 0 番目 )のみカット。 end は省略すると配列の最後まで // [2,3] a.slice( 1 ); // start に 負を指定すると後ろからの指定。 a.length + start 番目から開始となる。 // [3] a.slice( -1 ); // end で指定したひとつ前の要素まで返す。 つまり [ start : end ) // [1,2] a.slice( 0, 2 ); // end に 負を指定すると後ろからの指定。 a.length + end の指定となる。 // 最後だけ除去する // [1,2] a.slice( 0, -1 ); // これと同じ。 a.pop();
function basename( f ) { return f.split( "." ).shift(); }



join


配列の要素をつなげる
var path = "c:/foo/bar/test.txt"; var a = path.split( "/" ); a.join( "/" )



ソート(sort)


辞書順でソートされる。
var a = [ "e", "d", "a" ]; a.sort(); // [ "a", "d", "e" ]
ソートをカスタマイズするには, 引数に関数型のオブジェクトをわたす。 比較関数のインターフェイスは 比較対象の Object を2個もらい, 大小に応じて 1, 0, -1 を返す。
// obj{ age, name } function mySort( oA, oB ) { if ( oA.age > oB.age ) return 1; else if ( oA.age == oB.age ) return 0; else return -1; }
var a = [ { age:2, name:"Tanaka"}, { age:1, name:"Suzuki"} ] a.sort( mySort );
// BAD // このとき Interpreter が実行される前にとまる // 逐次 Parse してるわけではないらしい WScript.echo( "Global Code" ); // ERROR //var a = new Array("aaa" "bbb" "ccc"); // ここでとまる // OK var a = new Array("aaa", "bbb", "ccc");