ホームページ > ウェブフロントエンド > jsチュートリアル > Reduce 関数を使用して配列内の最も近い数値を見つけるにはどうすればよいですか?

Reduce 関数を使用して配列内の最も近い数値を見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-30 06:02:28
オリジナル
796 人が閲覧しました

How to Find the Nearest Number in an Array Using the Reduce Function?

配列内の最も近い数値を決定する

配列と -1000 ~ 1000 の範囲内の数値が与えられた場合、目的は次のとおりです。指定された数値を、配列内に存在する最も近い数値に更新します。たとえば、指定された数値が 80 で、配列に [2, 42, 82, 122, 162, 202, 242, 282, 322, 362] が含まれる場合、数値は 82 に変更する必要があります。

これを達成するには、ES5 の Reduce 機能を利用できます。 Reduce 関数は、配列内の値を累積し、単一の結果を返します。この場合、これを使用して、指定された数値との差の絶対値が最小である配列内の数値を見つけることができます。

reduce 関数は、コールバックを引数として受け取ります。コールバックは単一の値を返す必要があり、前の値 (配列の最初の要素から始まる) と反復処理される現在の値の 2 つのパラメーターを取ります。

コールバックでは、次の値の間の絶対的な差を計算します。現在の値と目標 (指定された数値)。次に、この差を前の値と目標の間の絶対差と比較します。現在の値との差が小さい場合は、前の値を現在の値に更新します。

reduce 関数は配列の反復処理を続け、目標に最も近い数値を累積します。配列全体が反復処理されると、reduce 関数は最も近い数値を返します。

例:

<code class="js">var counts = [4, 9, 15, 6, 2],
  goal = 5;

var closest = counts.reduce(function(prev, curr) {
  return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev);
});

console.log(closest); // Output: 6</code>
ログイン後にコピー

以上がReduce 関数を使用して配列内の最も近い数値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート