array.map( callback )メソッドは、配列の各要素に、引数「callback」に指定したコールバック関数を実行し、結果を格納した新たな配列を生成するメソッド。
構文
array.map( callback )
引数
- callback
- 配列の各要素毎に実行したいコールバック関数を指定する。
戻り値
コールバック関数の処理結果を格納した新たな配列。
コールバック関数の構文
function callback( value, index, array ) {
// 配列の各要素に実行する処理
}
// 配列の各要素に実行する処理
}
引数
- value
- 配列要素の値。
- index
- 配列要素のインデックス。
- array
- 要素を格納している配列オブジェクト。
サンプル
円の面積の計算
<script type="text/javascript">
function areaOfCircle( radius ) {
var area = Math.PI * (radius * radius);
return area.toFixed( 0 );
}
var $radii = new Array( 10, 25, 50 );
var $areas = $radii.map( areaOfCircle );
for ( var $counterVar = 0; $counterVar < $radii.length; $counterVar++ ) {
document.write( '半径' + $radii[$counterVar] + '㎝の円の面積は、' );
document.write( $areas[$counterVar] + '㎠' );
document.write( '<br />' );
}
</script>
function areaOfCircle( radius ) {
var area = Math.PI * (radius * radius);
return area.toFixed( 0 );
}
var $radii = new Array( 10, 25, 50 );
var $areas = $radii.map( areaOfCircle );
for ( var $counterVar = 0; $counterVar < $radii.length; $counterVar++ ) {
document.write( '半径' + $radii[$counterVar] + '㎝の円の面積は、' );
document.write( $areas[$counterVar] + '㎠' );
document.write( '<br />' );
}
</script>
↓↓↓出力結果↓↓↓
消費税の計算
<script type="text/javascript">
function tax( $value ) {
return $value * 0.05;
}
function taxIncluded( $value ) {
return $value * 1.05;
}
var $price = new Array( 1000, 2500, 500, 13000, 300 );
var $priceTax = $price.map( tax );
var $priceTaxIncluded = $price.map( taxIncluded );
for ( var $counterVar = 0; $counterVar < $price.length; $counterVar++ ) {
document.write( '税抜:' + $price[$counterVar] + '円' );
document.write( ' + ' );
document.write( '税:' + $priceTax[$counterVar] + '円' );
document.write( ' = ' );
document.write( '税込:' + $priceTaxIncluded[$counterVar] + '円' );
document.write( '<br />' );
}
</script>
function tax( $value ) {
return $value * 0.05;
}
function taxIncluded( $value ) {
return $value * 1.05;
}
var $price = new Array( 1000, 2500, 500, 13000, 300 );
var $priceTax = $price.map( tax );
var $priceTaxIncluded = $price.map( taxIncluded );
for ( var $counterVar = 0; $counterVar < $price.length; $counterVar++ ) {
document.write( '税抜:' + $price[$counterVar] + '円' );
document.write( ' + ' );
document.write( '税:' + $priceTax[$counterVar] + '円' );
document.write( ' = ' );
document.write( '税込:' + $priceTaxIncluded[$counterVar] + '円' );
document.write( '<br />' );
}
</script>
↓↓↓出力結果↓↓↓