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

合計してターゲット値になる可能性のある配列内の数値を検索するJavaScript


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

関数は、追加されたときに配列の2番目の引数で指定された合計を与えるような要素を配列から選択する必要があります。この関数は、加算されたときに必要な合計が得られるような数値のサブ配列すべての配列を返す必要があります。

順序は重要ではなく、必要に応じて、合計を生成するために1つの数値を複数回使用する自由があることに注意してください。

例-

入力配列と合計が-

の場合
const arr = [14, 6, 10];
const sum = 40;

その場合、出力は-

になります。
const output = [
   [ 14, 14, 6, 6 ],
   [ 14, 6, 10, 10 ],
   [ 6, 6, 6, 6, 6, 10 ],
   [ 10, 10, 10, 10 ]
];

const arr = [14, 6, 10];
const sum = 40;
const findSum = (arr, sum) => {
   const res = [];
   const search = (index, part = []) => {
      const s = part.reduce((a, b) => a + b, 0);
      if (s === sum){
         res.push(part)
      };
      if (s >= sum || index >= arr.length){ return; };
         search(index, part.concat(arr[index]));
         search(index + 1, part);
   };
   search(0);
   return res;
}
console.log(findSum(arr, sum));

出力

これにより、次の出力が生成されます-

[
   [ 14, 14, 6, 6 ],
   [ 14, 6, 10, 10 ],
   [ 6, 6, 6, 6, 6, 10 ],
   [ 10, 10, 10, 10 ]
]

  1. JavaScriptの配列で同等の値と頻度を見つける

    整数の配列を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、頻度が値と同じになるように配列に整数が存在するかどうかをチェックする必要があります。 そのような整数が少なくとも1つ存在する場合は、その整数を返す必要があります。それ以外の場合は、-1を返す必要があります。 例- 入力配列が-の場合 const arr = [3, 4, 3, 8, 4, 9, 7, 4, 2, 4]; その場合、出力は-になります。 const output = 4; 例 以下はコードです- const arr = [3, 4, 3, 8, 4, 9, 7, 4, 2,

  2. JavaScriptを使用して文字列番号の配列を合計する

    問題 整数と文字列番号を含む配列を受け取るJavaScript関数を作成する必要があります。 この関数は、すべての整数と文字列の数値を合計して、新しい数値を導き出し、その数値を返す必要があります。 例 以下はコードです- const arr = [67, 45, '34', '23', 4, 6, '6']; const mixedSum = (arr = []) => {    let sum = 0;    for(let i = 0; i < arr.length; i++){ &n