JavaScript は、特に配列操作や関数型プログラミングにおいて、豊富なデータ処理メソッドを提供します。この章では、JavaScript でのデータ処理手法と関数型プログラミングの基本概念を学びます。
配列演算
JavaScript 配列には、さまざまなデータ処理を実行するために使用できる多くの組み込みメソッドがあります。
地図
map
このメソッドは新しい配列を返します。配列内の各要素は、関数を通じて元の配列要素を処理した結果です。
var numbers = [1, 2, 3, 4, 5];
var squares = numbers.map(function(x) {
return x * x;
});
console.log(squares); // 输出:[1, 4, 9, 16, 25]
この例では、map
メソッドを使用して numbers
配列の各要素を 2 乗し、新しい配列を取得します。squares
フィルター
filter
このメソッドは、元の配列内の特定の条件を満たすすべての要素を要素とする新しい配列を返します。
var numbers = [1, 2, 3, 4, 5];
var evens = numbers.filter(function(x) {
return x % 2 === 0;
});
console.log(evens); // 输出:[2, 4]
この例では、filter
メソッドを使用して numbers
配列内のすべての偶数を除外し、新しい配列を取得しますevens
。
減らす
reduce
メソッドは配列内の各要素に対して関数を実行し、その結果を単一の出力値に要約します。
var numbers = [1, 2, 3, 4, 5];
var sum = numbers.reduce(function(acc, x) {
return acc + x;
}, 0);
console.log(sum); // 输出:15
この例では、reduce
メソッドを使用して、numbers
配列内のすべての要素の合計を計算し、合計を取得します。< a i= 3>。 sum
関数型プログラミング
関数型プログラミングは、計算プロセスを関数の評価として扱うプログラミング パラダイムです。関数型プログラミングでは、副作用のない関数 (純粋関数) と状態を変更しない関数 (不変性) が重視されます。 JavaScript は関数型プログラミングのいくつかの機能をサポートしています。
純粋関数
純粋関数は、同じ入力が与えられると、副作用なしに常に同じ出力を返す関数です。
function square(x) {
return x * x;
}
console.log(square(5)); // 输出:25
console.log(square(5)); // 输出:25
この例では、square
関数は純粋関数です。何度呼び出しても、入力が 5 であれば、出力は 25 になります。
高次関数
高階関数とは、関数を引数として受け取るか、関数を返す関数です。
function greaterThan(n) {
return function(m) {
return m > n;
};
}
var greaterThan10 = greaterThan(10);
console.log(greaterThan10(11)); // 输出:true
この例では、greaterThan
関数は高階関数です。数値が n
より大きいかどうかをチェックする新しい関数を返します。
閉鎖
JavaScript では、関数はクロージャを形成できます。クロージャは、関数とそれに関連する参照環境で構成されるエンティティです。クロージャを使用すると、内部関数内から外部関数の変数にアクセスできます。
function outer() {
var x = 10;
function inner() {
console.log(x); // 可以访问到外层函数的变量x
}
return inner;
}
var innerFunc = outer();
innerFunc(); // 输出:10
この例では、inner
関数がクロージャを形成します。 関数が実行を完了した場合でも、 outer
関数x
内の変数にアクセスできます。 outer
要約する
JavaScript のデータ処理機能と関数型プログラミング機能を使用すると、より効率的で強力なコードを作成できます。配列の map
、filter
、reduce
メソッド、および純粋関数、高階関数を理解して使用することにより、 、および関数型プログラミング パッケージのクロージャを使用すると、JavaScript をよりよく習得し、この知識を実際の開発に適用できます。