ホームページ > 記事 > ウェブフロントエンド > JavaScript配列のmapメソッドの使い方
JavaScript では、配列の map メソッドを使用して、配列の各要素に対して指定されたコールバック関数を呼び出し、結果を含む配列を返します。構文形式は「array.map(callbackfn[, thisArg」) ]); "。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript の map() メソッドは、配列の各要素に対して指定されたコールバック関数を呼び出し、結果を含む配列を返すことができます。具体的な使用法は次のとおりです。
array.map(callbackfn[, thisArg]);
パラメータの説明:
array: 必須パラメータ、配列オブジェクト。
callbackfn: 必須パラメータ。最大 3 つのパラメータを受け取ることができる関数。配列内の各要素に対して、map() メソッドは callbackfn 関数を 1 回呼び出します。
thisArg: オプションのパラメータ。callbackfn 関数の this キーワードによって参照できるオブジェクト。 thisArg を省略した場合は、this の値として未定義が使用されます。
map() メソッドは、各要素が関連付けられた元の配列要素のコールバック関数の戻り値である新しい配列を返します。 map() メソッドは、配列内の各要素に対して callbackfn 関数を 1 回 (インデックスの昇順で) 呼び出します。配列内の欠落している要素に対してはコールバック関数を呼び出しません。
map() メソッドは、配列オブジェクトに加えて、Arguments パラメーター オブジェクトなど、長さプロパティとインデックス付きプロパティ名を持つ任意のオブジェクトで使用できます。
コールバック関数の構文は次のとおりです。
function callbackfn (value, index, array);
ユーザーは、最大 3 つのパラメータを使用してコールバック関数を宣言できます。コールバック関数のパラメータの説明は次のとおりです。
#value: 配列要素の値。
index: 配列要素の数値インデックス。
array: 要素を含む配列オブジェクト。
map() メソッドは元の配列を直接変更しませんが、コールバック関数によって変更される可能性があります。マップメソッドの開始後に配列オブジェクトを変更して得られた結果を表に示します。
map メソッドの開始後の条件 | 要素がメソッドに渡されるかどうかコールバック関数 |
---|---|
配列の元の長さを超える要素を追加します | ##No|
はい、インデックスがコールバック関数に渡されていない場合は | |
はい、要素が変更されていない場合はコールバック関数に渡されました | |
要素がコールバック関数に渡されていない限り、いいえ |
例 1
次の例では、map() メソッドを使用して配列をマップし、配列内の各要素の値を 2 乗し、それに PI 値を乗算し、返された円の面積値を新しい配列の要素値として取得し、最後に新しい配列を返します。function f (radius) { var area = Math.PI * (radius * radius); return area.toFixed(0); } var a = [10,20,30]; var a1 = a.map(f); console.log(a1);
例 2
次の例では、map() メソッドを使用して配列をマップし、配列内の各要素の値をしきい値で除算し、コールバック関数としきい値の両方がオブジェクトのプロパティとして存在する新しい配列を返します。このメソッドは、マップ内で thisArg パラメーターを使用する方法を示します。var obj = { val : 10, f : function (value) { return value % this.val; } } var a = [6,12,25,30]; var a1 = a.map(obj.f, obj); console.log(a1); //6,2,5,0
例 3
次の例は、JavaScript 組み込みメソッドをコールバック関数として使用する方法を示しています。var a = [9, 16]; var a1 = a.map(Math.sqrt); console.log(a1); //3,4[推奨学習:
JavaScript 上級チュートリアル]
以上がJavaScript配列のmapメソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。