본문 바로가기
IT

리액트 다중 배열 처리

by 달남 2024. 4. 11.



다중 배열에서 특정 조건을 만족하는 요소를 찾아내고 싶을 때, 조건에 맞는 데이터를 필터링하거나 찾아내기 위해 JavaScript의 배열 메소드를 활용할 수 있습니다. 이번 예시에서는 `name` 속성이 "remark"이고, `value` 속성이 `null`이 아닌 객체를 찾는 경우를 다룹니다.

먼저, 다음과 같이 다중 배열에 중첩된 객체를 포함하는 데이터 구조를 가정해 보겠습니다.

```javascript
const data = [
  [{ name: 'remark', value: 'value1' }, { name: 'other', value: 'value2' }],
  [{ name: 'remark', value: null }, { name: 'another', value: 'value3' }],
  [{ name: 'remark', value: 'value4' }],
];
```

이 데이터 구조에서 `name`이 "remark"이고, `value`가 `null`이 아닌 모든 객체를 찾아내기 위해 `flatMap`과 `filter` 메소드를 조합하여 사용할 수 있습니다.

```javascript
// name이 'remark'이고 value가 null이 아닌 객체만 필터링하기
const filteredData = data.flatMap(group =>
  group.filter(item => item.name === 'remark' && item.value !== null)
);

console.log(filteredData);
```

이 스크립트는 다음과 같은 결과를 출력합니다.

```javascript
[
  { name: 'remark', value: 'value1' },
  { name: 'remark', value: 'value4' }
]
```

여기서 `flatMap` 메소드는 다중 배열을 단일 수준으로 평탄화하며, 각 그룹 내에서 `filter` 메소드를 통해 조건에 맞는 요소만을 선택합니다. 이 때 `filter` 메소드의 콜백 함수 내에서는 `name`이 "remark"이고, `value`가 `null`이 아닌 요소만을 반환하도록 조건을 설정합니다.

이 방법을 통해, 복잡한 다중 배열 구조에서도 특정 조건을 만족하는 요소를 효과적으로 찾아낼 수 있습니다.

'IT' 카테고리의 다른 글

컴퓨터 후킹 by powershell  (0) 2024.07.04
리액트 props 배열  (0) 2024.05.14
vscode 단축키  (0) 2024.04.09
리액트 null, undefined, 공백 체크 방법  (0) 2024.03.27
Smart life - 중국산 원격 앱_ 원격앱에 대한 고찰  (0) 2024.03.26

댓글