Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 루프 및 재귀를 사용하여 배열 병합

<시간/>

falsevalue가 있는 중첩된 배열도 가져와서 배열에 있는 모든 요소를 ​​중첩 없이 반환하는 JavaScript 배열 함수를 작성해야 합니다.

예:입력이 -

인 경우
const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];

그러면 출력은 다음과 같아야 합니다. -

const output = [1, 2, 3, 4, 5, false, 6, 5, 8, null, 6];

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

이에 대한 코드는 -

const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];
const flatten = function(){
   let res = [];
   for(let i = 0; i < this.length; i++){
      if(Array.isArray(this[i])){
         res.push(...this[i].flatten());
      }else{
         res.push(this[i]);
      };
   };
   return res;
};
Array.prototype.flatten = flatten;
console.log(arr.flatten());

출력

콘솔의 출력은 -

[
   1, 2, 3, 4,
   5, 5, false, 6,
   5, 8, null, 6
]