배열의 배열을 배열로 분리

4339 단어 javascript
다음과 같은 배열 배열이 있다고 가정해 보겠습니다.
[ ['하나', 1], ['둘', 2], ['셋', 3] ]
원하는 것은 다음과 같은 두 개의 배열입니다.
['하나 둘 셋']
[1, 2, 3]

어떻게 합니까?

배열 루핑 - 맵 및 필터



외부 배열과 내부 배열을 차례로 반복하기만 하면 됩니다.

const arrayOne = outerArray.map(innerArray => {
  return innerArray.filter((innerArrayItem, index) => index === 0);
});

const array2 = outerArray.map(innerArray => {
  return innerArray.filter((innerArrayItem, index) => index === 1);
});


우리가 하고 있는 것은 맵을 사용하여 외부 배열을 통해 반복하는 것입니다. 그런 다음 내부 배열 각각에 대해 관련 인덱스가 있는 항목을 선택합니다. 따라서 arrayOne의 경우 모든 숫자를 각 배열의 첫 번째 요소인 문자열로 원합니다.

배열 루핑 - for 루프



맵과 필터에 익숙하지 않은 경우 두 개의 for 루프를 사용할 수 있습니다.

let arrayOne = []
let array2 = []
for (let i = 0; i < outerArray.length; i++) {
  for (let j = 0; j < outerArray[i].length; j++) {
    if (j === 0) {
      arrayOne.push(outerArray[i][j]);
    }
    if (j === 1) {
      array2.push(outerArray[i][j]);
    }
  }
}


이것의 장점은 두 어레이에 동시에 푸시할 수 있다는 것입니다. 그러나 첫 번째 예는 확장하기가 더 쉽습니다. 내부 배열에 세 개의 배열로 가져오고 싶은 세 개의 요소가 있는 경우 함수에 쉽게 넣을 수 있습니다.

좋은 웹페이지 즐겨찾기