Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでの非負のセット減算


整数のセットがあり、そのセットの合計から減算する必要のある値があります。

ここのように

[4, 5, 6, 7, 8] − 25

すべての数値から均等に引くと、-

が得られます。
[−1, 0, 1, 2, 3]

ただし、0未満の数値は必要ありません。

したがって、これを行うためのアルゴリズムを作成している場合、負の数は残りの数に等しくオーバーフローし、-

になります。
[0, 0, 1, 2, 3] − 1

結果のセットを作成する-

[0, 0, 1 − 0.333, 2 − 0.333, 3 − 0.333]

これがまさに私たちが望む結果であることに注意してください。

すべての負の値は、残りの正の値に均等にオーバーフローします。

最初の引数として数値の配列を取り、2番目の引数として合計数を受け取るJavaScript関数を作成する必要があります。

次に、関数は均等に減算され分散された配列を計算し、それを返す必要があります。

このためのコードは-

になります
const arr = [4, 5, 6, 7, 8];
const subtract = (arr, sum) => {
   return arr.map((el, index, array) => {
      const rem = array.length − index
      const avg = sum / rem;
      const toSubtract = Math.min(avg, el);
      sum −= toSubtract;
      return el − toSubtract;
   });
};
console.log(subtract(arr, 25));

出力

そして、コンソールの出力は-

になります
[ 0, 0, 0.666666666666667, 1.666666666666666, 2.666666666666666 ]

  1. 配列とJavaScriptでの設定。

    Setデータ型はES2015で導入されました。配列とセットの違いは、配列には重複する値を含めることができますが、セットにはできないことです。要素は、キーを使用し、要素は入力された方法でのみトラバースできるため、Setでは不可能なインデックスを使用して配列でアクセスできます。 以下は、JavaScriptの配列と設定の違いを表示するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name=&

  2. JavaScriptで配列をセットに変換する方法は?

    以下は、JavaScriptで配列を設定に変換するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body