underscore.js 정리 - 1 (some, every, pluck, where, partition)

zeroeat·2022년 7월 19일
0

underscore

목록 보기
1/2
post-thumbnail

<내가 보려고 쓰는 벨로그>😊

나라는 허접 개발자가 며칠전 UnderScore.js라는 라이브러리를 발견하게 됐다.

Array나 Object를 다룰때 짜증나는 순간들이 많았는데 UnderScore를 보니
알아두면 쓸만한것들이 꽤 많아 보여서 기초적인 것부터 정리해두려고 한다.

일단 _ 라는 객체로 method를 부르면된다
ex)
_.method

1. some

let someArr = [null, 0 , undefined, false];
console.log(_.some(someArr));
// false
someArr = [null, 0 , 'a', false];
// true

Some은 배열에 속한 인자중 하나라도 true일시 true를 리턴한다.
1. 문자는 true로 인식함
2. 0이 아닌 숫자도 true로 인식함
3. false로 인식하는 변수 : null, 0 , undefined, false

Some은 두번째 parameter로 조건을 넣을 수 있다.
배열 내 인자중 조건에 만족하는 인자가 하나라도 존재할시 true를 리턴한다.

let someArr = [null , 0 , undefined, false];
console.log(_.some(someArr, (el) => { return el == 0  }))
// true

2. Every

Every는 Some과 사용하는 방법은 동일하지만 모든 인자가 조건을 만족해야 true를 리턴한다.

let everyArr = [1, 2, 3, 0];
console.log(_.every(everyArr));
// false (0 은 false)
console.log(_.every(everyArr, (el) => { return el > -1 }) );
// true

3. pluck

Pluck은 Object Array를 원하는 키를 가진 배열로 리턴받을 수 있다. 글로 쓰니까 설명하기가 어려우니 예시를 보도록 하자

let pluckData = 
[
    {
        "name" : "kim",
        "age" : 20
    },
    {
        "name" : "park",
        "age" : 25
    },
    {
        "name" : "lee",
        "age" : 15
    }
]
console.log(_.pluck(pluckData, 'name'));
// ['kim', 'park', 'lee']

예시와 같이 object Array 안에서 특정 키만 가져와 비교하거나 사용할때 일일히 새 배열에 담아주지 않아도 되서 유용할 것 같다.

4. where

where은 SQL 사용하는 것 처럼 값을 필터링하여 조건에 부합하는 객체만 리턴받을 수 있다.

console.log(_.where(pluckData, {name : 'kim'}));
// {"name" : "kim", "age" : 20}
물론 조건 필터링을 여러개 할 수 있다.
console.log(_.where(pluckData, {name : 'kim', "age" : 19}));
// []

5. partition

partiton은 array를 두 그룹으로 묶어서 리턴한다.
[[만족 array], [불만족array]]로 리턴

let partitionArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(_.partition(partitionArray, (el) => { return el % 2 == 0}));
// [[2, 4, 6, 8, 10], [1, 3, 5, 7, 9]]

생각날때 마다 5개씩 순차적으로 올려보자.
그리고 이번기회에 정리를 잘 하는 실력도 키워보자.😎

profile
맨날 고민하는 개발자

0개의 댓글