반응형

제목이 다소 난해할 수 있는 코드이다.

바로 예제를 가지고 설명해 본다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const arr1 = [{
    name"kim",
    age: 23
}, {
    name"park",
    age: 30
}, {
    name"lee",
    age: 25
}, {
    name"lim",
    age: 27
}, {
    name"song",
    age: 31
}];
 
const arr2 = ["kim""lee"];
cs

arr1에는 name/age라는 속성을 가지고 있는 object array형태이고,

arr2에는 string으로 구성된 array형태이다.

 

이때, 나는 arr1에서 name이 arr2에 포함된 것만 데이터를 추출하기 원한다.

나는 javascript에서 지원하는 filter / includes 를 이용해서 구할 것이다.

이름으로도 쉽게 두 함수가 무엇을 하는지 알 수 있다.

filter는 무엇가를 걸러내는 것이고, includes는 무언가가 포함되어 있는 것을 알려주는 것이다.

 

arr1 배열을 filter 함수를 사용하면,

arr1의 모든 object를 확인하면서 arr2 배열에 값이 포함되어있는지 없는지를 리턴해준다.

배열(A)과 배열(B)을 비교하여, 배열(B)에 포함된 값만 추출해주는 것이 1줄이라는 코드로 해결되었다.

이전에는 loop를 돌면서 모든 내용물을 확인하고, 또 그것을 임시 변수에 담아야 하고. 번거로움이 많았는데

코드의 효율성을 높여주는 javascirpt의 함수가 많아졌다.

막연하게 코드의 양을 줄 여주는 것이 아니라, 제공해주는 기본 함수를 잘 활용하는 방법에 익숙해져야겠다.

반응형

+ Recent posts