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

配列を複雑な配列JavaScriptに変換する方法は?


たとえば、数値と数値nの配列を受け取る関数を作成する必要があるとします。ここで、n>=配列の任意の数です。配列の連続する要素の合計が数nを超える場合、配列をサブ配列に分割するために関数が必要です。

例-

// if the original array is:
const arr = [2, 1, 2, 1, 1, 1, 1, 1];
// and the number n is 4
// then the output array should be:
const output = [ [ 2, 1 ], [ 2, 1, 1 ], [ 1, 1, 1 ] ];

この関数のコードを書いてみましょう-

const arr = [2, 1, 2, 1, 1, 1, 1, 1];
const splitArray = (arr, num) => {
   return arr.reduce((acc, val, ind) => {
      let { sum, res } = acc;
      if(ind === 0){
         return {sum: val, res:[[val]]};
      };
      if(sum + val <= num){
         res[res.length-1].push(val);
         sum +=val;
      }else{
         res.push([val]);
         sum = val;
      };
      return { sum, res };
   }, {
      sum: 0,
      res: []
   }).res;
};
console.log(splitArray(arr, 4));
console.log(splitArray(arr, 5));

出力

コンソールの出力は-

になります
[ [ 2, 1 ], [ 2, 1, 1 ], [ 1, 1, 1 ] ]
[ [ 2, 1, 2 ], [ 1, 1, 1, 1, 1 ] ]
>
  1. 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

  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> &