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

ネストされた配列をマージしてJavaScriptで1次元配列を形成する


問題

最初と2番目の引数として、2つのネストされた配列arr1とarr2を受け取るJavaScript関数を作成する必要があります。

この関数は、arr1とarr2のすべての要素を含むが、単一次元にフラット化された3番目の配列を作成して返す必要があります

たとえば、関数への入力が-

の場合
const arr1 = [
   1, [
      2, [
         4, 5, [
            6
         ]
      ]
   ]
];
const arr2 = [
   11, 12, [
      16, 18, [
         19, 21, [
            23
         ]
      ]
   ]
];

その場合、出力は-

になります。
const output = [1, 2, 4, 5, 6, 11, 12, 16, 18, 19, 21, 23];

以下はコードです-

const arr1 = [
   1, [
      2, [
         4, 5, [
            6
         ]
      ]
   ]
];
const arr2 = [
   11, 12, [
      16, 18, [
         19, 21, [
            23
         ]
      ]
   ]
];
const flattenAndMerge = (arr1 = [], arr2 = []) => {
   const res = [];

   const flatten = (arr = []) => {
      for(let i = 0; i < arr.length; i++){
         if(Array.isArray(arr[i])){

            flatten(arr[i]);
         }else if(typeof arr[i] === 'number'){
            res.push(arr[i])
         };
      };
   };
   flatten(arr1);
   flatten(arr2);
   return res;
};
console.log(flattenAndMerge(arr1, arr2));

出力

以下はコンソール出力です-

[
   1, 2, 4, 5, 6,
   11, 12, 16, 18, 19,
   21, 23
]

  1. JavaScriptのネストされた配列の重みの合計

    問題 ネストされた配列arr(任意のレベルまでネストされている)を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、ネストされた配列の加重和を計算し、その和を返す必要があります。 ネストされた合計を計算するために、特定の要素にそのネストのレベルを乗算し、配列全体に追加します。 たとえば、関数への入力が-の場合 const arr = [4, 7, [6, 1, [5, 2]]]; その場合、出力は-になります。 const output = 46; 出力の説明: 合計は次のように計算されます- (4 * 1) + ( 7 * 1) + (6 * 2

  2. JavaScriptを使用して、2つの並べ替えられた配列を1つの並べ替えられた配列にマージする

    問題 2つの並べ替えられた数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、両方の配列のすべての要素を新しい配列にマージし、同じ順序で並べ替えられた新しい配列を返す必要があります。 例 以下はコードです- const arr1 = [1, 3, 4, 5, 6, 8]; const arr2 = [4, 6, 8, 9, 11]; const mergeSortedArrays = (arr1 = [], arr2 = []) => {    const res = [];    let i = 0;