배열은 놀라운 수준의 유연성을 갖추고 있는데
배열은 순서를 갖기 때문에 이를 기준으로 값을 추가하거나 제거할 수 있고, 모든 위치에 값이 있는지 확인할 수도 있다.
또한 배열을 정렬해서 순서를 새로 지정할 수도 있다.
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()를 이용해 문제를 좀 더 쉽게 해결하는 방법을 알아보자
'Javascript > 자바스크립트 코딩의 기술' 카테고리의 다른 글
7. 펼침 연산자로 배열을 본떠라 (0) | 2021.01.27 |
---|---|
6. Includes()로 존재 여부를 확인하기 (0) | 2021.01.26 |
4. 템플릿 리터럴로 변수를 읽을 수 있는 문자열로 변환하기 (0) | 2021.01.24 |
3. 블록 유효 범위 변수로 정보를 격리하라 (0) | 2021.01.24 |
2. let과 const로 유효 범위 충돌을 줄여라 (0) | 2021.01.24 |