배열을 더 짧고, 더 명확하게

1).at()

배열에서 특정 위치 값을 가져오는 함수

arr[arr.length-1] ⇒ 길이계산이 필요하고, 읽는 사람 입장에서 즉각적으로 마지막 요소를 가져오려는 의도가 명확하게 드러나지 않는다

.at() 메서드 ⇒ 인덱스를 기준으로 요소를 반환함

특히 음수 인덱스를 사용할 수 있다는 점에서 큰 차별점을 가짐

arr.at(-1) 이라고 작성하면 배열의 마지막 요소를 바로 얻을 수 있고, arr.at(-2)라고 작성하면 , 뒤에서 두번째 요소를 가져온다

const fruits=["apple","banana","grape"];

console.log(fruits.at(-1)) //grape
console.log(fruits.at(-2)) //banana

2).groupBy()

다양한 데이터를 다룰 때 자주 하게 되는 작업 중 하나

특정 기준에 따라 항목들을 묶는 일

예) 게시글 태그별로 구분, 주문목록 결제 상태별로 나눔, 유저정보 등급별로 분류

기존 : reduce() 로 직접 구현하거나, 외부 라이브러리 사용했음

const posts=[
{id:1, tag:"js",title:"자바스크립트"},
{id:2, tag:"react",title:"리액트"},
{id:3,tag:"react"title:"리액트는리액트"},
];
const groupedByTag=posts.groupBy(post=>post.tag);

결과

{
js:[
{id:1, tag:"js",title:"자바스크립트"}
],
react: [
{id:2, tag:"react",title:"리액트"},
{id:3,tag:"react"title:"리액트는리액트"}
  ]
}

3).toSorted()

숫자를 오름차순으로 정렬하거나, 텍스트를 알파벳순으로 나열하는 등의 작업을 하는 함

이 메서드는 기존 배열을 변경하지 않고, 정렬된 새로운 배열을 반환함

즉, 원본을 그대로 두고 복사본을 정렬하는 방식이기 때문에 데이터의 불변성을 지킬 수 있음