jQuery.map( array, callback(elementOfArray, indexInArray) )
引数
- (array)array
- 何らかの加工したい配列
- (function)callback
- arrayに実行する関数
arrayにcallback関数を実行して実行結果で新しい配列生成する。
callback関数の中でnullを返すと新しい配列には追加されない。
サンプル
Javascript
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$('.jqTest').click(function(e){
switch ($(e.target).val()) {
case 'execute1':
var new_arr = jQuery.map(arr, function(val, key){
if (val % 2 == 0) {
return val + 'は偶数';
}
});
break;
case 'execute2':
var new_arr = jQuery.map(arr, function(val, key){
if (val % 2 == 0) {
return ['[key:' + key, 'val:' + val + ']'];
}
});
break;
case 'execute3':
var new_arr = jQuery.map(arr, function(val, key){
if (val % 2 == 0) {
return [[key, val], [key, val]];
}
});
break;
}
alert(new_arr + '[length]' + new_arr.length);
});
HTML
<div class="jqTest">
<input type="button" value="execute1" class="execute1"/><br />
<input type="button" value="execute2" class="execute2"/><br />
<input type="button" value="execute3" class="execute3"/><br />
</div>
jQuery.map( arrayOrObject, callback( value, indexOrKey ) )