Javascript JSON Value를 기준으로 정렬하기

JSON의 정렬

만약 유저의 이름을 key로 점수를 value로 JSON에 저장했다고 하고

1
2
3
4
5
const point = {
  "Jang": 100,
  "Kim": 20,
  "Lee": 150
};

유저를 점수순으로 리스트를 뽑아야된다면 아래와 같은 sort 함수를 만들어서 리스트를 생성한다.

1
2
3
4
5
6
7
const sort = (ob) => {
  const arr = [];
  for(let i in ob) {
    arr.push([i, ob[i]]);
  }
  return arr.sort((a, b) => a[1] - b[1]);
}

sort 함수는 매개변수로 들어온 objectfor문으로 돌면서 새로운 배열에 keyvalue로 저장하고 arr.push([key, value]) 함수의 끝에서 반환 하기전에 arr.sort()를 사용해서 value를 기준으로 정렬한다.

물론 처음부터 배열에 유저이름과 점수를 저장하면 이러한 sort함수를 생성할 필요가 없지만, JSON의 쉬운 접근 때문에 이렇게 저장하는 경우가 있어서 설명해봤다.

Built with Hugo
Theme Stack designed by Jimmy