【JavaScript】2.3 データ処理と関数型プログラミング


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 のデータ処理機能と関数型プログラミング機能を使用すると、より効率的で強力なコードを作成できます。配列の mapfilterreduce メソッド、および純粋関数、高階関数を理解して使用することにより、 、および関数型プログラミング パッケージのクロージャを使用すると、JavaScript をよりよく習得し、この知識を実際の開発に適用できます。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/u010671061/article/details/134499642