ホーム » jQuery » jQuery - ユーティリティ - 配列とオブジェクト


jQuery - ユーティリティ - 配列とオブジェクト

each

配列のそれぞれの要素の値とインデックス、あるいはオブジェクトのそれぞれの属性名と値を引数として、ファンクションを呼び出す。

次の例では 'one', 'two', 'three' という文字列が要素である配列 arr と、属性名が One, Two, Three であり、それらの値がそれぞれ 10, 20, 30 であるオブジェクト obj に対して each を適用して、どのような値が引数に渡されているか確認しています。

var arr = [ 'one', 'two', 'three' ];
var obj = {
     One: 10,
     Two: 20,
     Three: 30
};
     
$.each ( arr, function ( a, b ) {
     alert( a + ' - ' + b );
});
     
$.each ( obj, function ( a, b ) {
     alert( a + ' - ' + b );
});

extend

第一引数で指定したオブジェクトを、第二引数のオブジェクトの内容で更新します。

存在する属性は値を書き換え、存在しない属性は追加されます。また、子オブジェクトの値も更新されます。

var opt1 = { Param1: 111 };
var opt2 = { Param1: 222 };

var o1 = { FirstName: 'Keisuke', LastName: 'Oyama', Param: opt1 };
var o2 = { Age: 36, City: "Los Angeles", FirstName: 'Keith', Param: opt2 };

alert( 'o1 = ' + JSON.stringify( o1 ) );
alert( 'o2 = ' + JSON.stringify( o2 ) );
     
$.extend ( o1, o2 ); 

alert( 'o1 = ' + JSON.stringify( o1 ) );
alert( 'o2 = ' + JSON.stringify( o2 ) );

grep

配列を渡し、その中身を評価します。フィルタ関数の条件を満たす要素のみが結果として返ります。

var arr = [ 2, 4, 6, 8 ];
var ret;
     
ret = $.grep ( arr, function( val, indx ) {
     
     return val > 5;
     
});
     
alert( JSON.stringify( ret ) );

makeArray

未テスト

map

ある配列の要素から他の配列を作る。

var arr = [ 1, 2, 3 ];
var ret;
     
ret = $.map ( arr, function ( n ) {

     return 100 * n;

});
     
alert( JSON.stringify( ret ) );

inArray

配列の中から指定した値の要素のインデックスを返す。見つからないときは -1 を返す。

var arr = [ 'Los Angeles', 'Honolulu', 'Dallas' ];
var ret;
     
ret = $.inArray( 'Dallas', arr );
     
alert( ret );
     
ret = $.inArray( 'Irving', arr );
     
alert( ret );

merge

二つの配列の要素をマージする。

var a1 = [ 1, 3, 5 ];
var a2 = [ 2, 4, 6 ];
var ret;
     
ret = $.merge( a1, a2 );
     
alert( JSON.stringify( ret ) );

unique

DOM 要素の配列の中から、重複した要素を削除する。これは配列には有効ではなく、あくまで DOM 要素そのものに対する操作であることに注意 (値でもない)。

iPhone
iPhone
Blackberry
Android
var arr = [ 1, 1, 2, 3, 3, 5  ];
var ret;
var divs;
     
// 配列には有効ではない
ret = $.unique( arr );
     
alert( JSON.stringify( ret ) );

// DOM Element	
divs = $( 'div' ).get();
divs = divs.concat ( $( 'div' ).get() );
     
alert( divs.length );
     
divs = $.unique( divs );
     
alert( divs.length );


ホーム » jQuery » jQuery - ユーティリティ - 配列とオブジェクト