const csvData = "...";
const rawRows = csvData.split('\n');
const headers = rawRows[0].split(',');
import _ from 'lodash';
interface BasketballPlayer {
name: string;
team: string;
salary: number;
}
declare const rosters: {[team: string]: BasketballPlayer[]};
const allPlayers = Object.values(rosters).flat();
// 타입은 BasketballPlayer[]
밑의 예시 타입은 모두 string[]으로 같다.
const namesA = allPlayers.map(player => player.name) //string[]
const namesB = _.map(allPlayers, player => player.name) //string[]
const namesC = _.map(allPlayers, 'name'); //string[]
다음처럼 사용할 수도 있습니다.
const salaries = _.map(allPlayers, 'salary'); // 타입은 number[]
const teams = _.map(allPlayers, 'team'); // 타입은 string[]
const mix = _.map(allPlayers, Math.random() < 0.5 ? 'name' : 'salary');
// 타입은 (string | number)[]
<이펙티브 타입스크립트> (댄 밴더캅 지음, 장원호 옮김, 인사이트, 2021)