JavaScript > 配列
更新日
2012-07-21
広告
配列の使い方をまとめたサンプルプログラム array.js を以下に記します。
// 配列の宣言 var testArray1 = [1, 2, 3]; // 要素の参照 print('testArray1[0] = ' + testArray1[0]); print('testArray1[1] = ' + testArray1[1]); print('testArray1[2] = ' + testArray1[2]); // 配列の長さの参照 (length) print('testArray1.length is ' + testArray1.length); // 配列の最後尾に要素を追加 (push) // (頭に要素を追加する関数はunshift) var testArray2 = []; testArray2.push(4); testArray2.push(5); // カンマ区切りの文字列を生成(join)し、出力 print('testArray2 is ' + testArray2.join(',')); // 配列の結合 (concat) var concatedArray = testArray1.concat(testArray2); print('concatedArray is ' + concatedArray.join(',')); // 配列の切り出し (slice) var testArray3 = [10, 20, 30, 40, 50]; var slicedArray = testArray3.slice(2, 4); print('slicedArray is ' + slicedArray.join(',')); // ソート (sort / reverse) var sortArray = [3, 5, 8, 2, 4]; sortArray.sort(); print('sortArray is ' + sortArray.join(',')); sortArray.reverse(); print('reversed sortArray is ' + sortArray.join(',')); // new Arrayを使わないほうがよい理由 var newArray1 = new Array(5, 4, 3); print('newArray1.length is ' + newArray1.length); var newArray2 = new Array(5); print('newArray2.length is ' + newArray2.length);これをRhinoで実行してみます(見やすくするために改行を入れています)。
$ rhino array.js testArray1[0] = 1 testArray1[1] = 2 testArray1[2] = 3 testArray1.length is 3 testArray2 is 4,5 concatedArray is 1,2,3,4,5 slicedArray is 30,40 sortArray is 2,3,4,5,8 reversed sortArray is 8,5,4,3,2 newArray1.length is 3 newArray2.length is 5「配列の宣言時にnew Arrayを使わないほうがよい」と、あちこちで言われていますが、その理由の1つが、最期の newArray1 と newArray2 の length の値です。newArray2のように、引数が1つ、かつ、自然数だと、new Arrayはそれを配列の要素数だと判断するためです。これは混乱の元になります。
オブジェクト配列のソート
オブジェクトの配列があるときに、オブジェクトのあるプロパティを使ってソートしたい場合があります。 以下に、一例を示します。var someArray = [ {x:5, y:2}, {x:3, y:8}, {x:8, y:4} ]; var sortArray = someArray.sort (function (d1, d2) { return d1.x - d2.x; });これで、xの値でソートされます。
広告
お問い合わせは sweng.tips@gmail.com まで。