[javascript] Underscore.js에서 제공하는 배열 함수들 중에서 배열 변환하는 함수는 어떤 게 있나요?

Underscore.js는 배열 변환을 위한 다양한 함수를 제공합니다. 몇 가지 주요한 함수들을 살펴보겠습니다.

  1. _.map(): 배열의 각 요소에 대해 주어진 함수를 적용하고, 결과 값을 새로운 배열로 반환합니다.
    const numbers = [1, 2, 3, 4, 5];
    const doubledNumbers = _.map(numbers, (num) => num * 2);
    // [2, 4, 6, 8, 10]
    
  2. _.filter(): 주어진 함수를 이용해 배열에서 조건을 만족하는 요소만을 추출하여 새로운 배열로 반환합니다.
    const numbers = [1, 2, 3, 4, 5];
    const evenNumbers = _.filter(numbers, (num) => num % 2 === 0);
    // [2, 4]
    
  3. _.reduce(): 배열의 각 요소에 대해 주어진 함수를 적용하고, 최종적으로 하나의 결과 값을 반환합니다.
    const numbers = [1, 2, 3, 4, 5];
    const sum = _.reduce(numbers, (acc, num) => acc + num, 0);
    // 15
    
  4. _.flatten(): 중첩된 배열을 평탄화하여 1차원 배열로 변환합니다.
    const nestedArray = [1, [2, [3, [4, 5]]]];
    const flatArray = _.flatten(nestedArray);
    // [1, 2, 3, 4, 5]
    
  5. _.sortBy(): 주어진 함수에 따라 배열을 정렬합니다.
    const albums = [
      { title: 'albumC', releaseYear: 2015 },
      { title: 'albumA', releaseYear: 2010 },
      { title: 'albumB', releaseYear: 2020 },
    ];
    const sortedAlbums = _.sortBy(albums, (album) => album.releaseYear);
    /*
    [
      { title: 'albumA', releaseYear: 2010 },
      { title: 'albumC', releaseYear: 2015 },
      { title: 'albumB', releaseYear: 2020 },
    ]
    */
    

이 외에도 Underscore.js에는 다양한 배열 변환 함수들이 있으니 필요한 기능에 맞게 사용하실 수 있습니다.