配列内の最も近い数値の決定
-1000 から 1000 までの範囲の数値と、次のような整数を含む配列があるとします。 as:
[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
あなたのタスクは、配列内の最も近い数値と一致するように指定された数値を変更することです。たとえば、指定した数値が 80 の場合、82 に調整する必要があります。
解決策:
望ましい結果を達成するには、reduce() を利用できます。配列内でターゲットの数値に最も近い数値を見つけるメソッドです。 reduce() メソッドは関数と初期アキュムレータ値を引数として受け取り、配列を反復処理して関数を各要素とアキュムレータに適用します。
ES5 JavaScript での実装例は次のとおりです:
<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() メソッドは、配列の各要素とターゲット数値 (5) の間の絶対差を計算します。次に、絶対的な差を比較し、差が最も小さい要素を最も近い変数に割り当てます。最も近い変数は値 6 を保持します。これは、配列内で 5 に最も近い数値です。
以上が配列内の指定された値に最も近い数値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。