Javascript/자바스크립트 코딩의 기술

5. 배열로 유연한 컬렉션 생성하기

Frankie 2021. 1. 25. 21:56

배열은 놀라운 수준의 유연성을 갖추고 있는데

배열은 순서를 갖기 때문에 이를 기준으로 값을 추가하거나 제거할 수 있고, 모든 위치에 값이 있는지 확인할 수도 있다.

또한 배열을 정렬해서 순서를 새로 지정할 수도 있다.

 

map(), filter(), reduce() 등의 배열 메서드를 이용하면 코드 한 줄로 정보를 쉽게 변경하거나 갱신할 수 있다.

 

배열 외 다른 컬렉션도 사용하지만 배열을 깊이 이해하면 코드를 상당히 개선할 수 있다.

 

예를 들어 객체를 순회하려면 먼저 Object.keys()를 실행해서 객체의 키를 배열에 담은 후 생성한 배열을 이용해 순회한다.

const totla = {};
const stats = Object.keys(game1);
for (let i=0; i < stats.length; i++){
	const stat = stats[i];
    if(stat !== 'player'){
    	total[stat] = game1[stat] + game2[stat];
    }
}

배열은 이터러블(컬렉션의 현재 위치를 알고 있는 상태에서 컬렉션의 항목을 한 번에 하나씩 처리하는 방법)이 내장되어 있어서 여기저기 어디에나 등장할 수 있다.

 

컬렉션 개념의 거의 대부분을 배열 형태로 표현할 수 있는데 즉, 배열을 특별한 컬렉션으로 쉽게 변환하거나 다시 배열로 만들 수 있다.

const dog = {
	name: 'Don',
    color: 'black',
};
dog.name; // Don

이 코드는 키-값 쌍으로 배열이 구성되어 있는데 이는 객체를 키-값 쌍을 모은 배열로 바꿀 수 있다는 점을 알 수 있다.

 

 

 

배열에 대해서 깊게 생각해본 적은 없는데 그동안의 경험상 확실히 배열에 대한 이해를 깊이 할수록 더 좋은 코드가 된다는 점은 반박할 수가 없는 것 같다!

 

다음 글에서는 배열에서 존재 여부를 확인할 때 includes()를 이용해 문제를 좀 더 쉽게 해결하는 방법을 알아보자