하위 배열 값을 기준으로 JavaScript 정렬 배열
6097 단어 javascript
문제를 스케치하기 위해 다음과 같은 사용자 배열이 있다고 가정해 보겠습니다.
const users = [
['Nicole', 31],
['Chris', 33],
['Sanne', 1],
['Yaatree', 2],
];
사용자 배열에는 사용자의 이름과 나이를 나타내는 하위 배열이 포함되어 있습니다.
이제 사용자의 나이를 기준으로 이 배열을 어떻게 정렬할 수 있습니까?
하위 배열 값으로 배열 정렬
이 배열을 정렬하려는 목표를 달성하기 위해 실제로 네이티브
sort
메서드를 사용할 수 있습니다.가장 기본적인 형태로 배열에서 if를 호출할 수 있으며 내용을 기준으로 정렬을 시도합니다.
배열에 문자열이 포함되어 있으면 사전순으로 정렬됩니다.
다음과 같이 표시됩니다.
console.log(['b', 'c', 'a'].sort());
// [ 'a', 'b', 'c' ]
그러나 배열의 배열이 있기 때문에 우리의 경우에는 조금 더 복잡합니다.
정렬을 호출하면 첫 번째 배열 요소를 정렬 방법으로 사용하므로 이름을 기준으로 정렬하게 됩니다.
console.log(users.sort());
// Returns:
// [
// [ 'Chris', 33 ],
// [ 'Nicole', 31 ],
// [ 'Sanne', 1 ],
// [ 'Yaatree', 2 ]
// ]
이것은 이름을 기준으로 정렬하고 싶지만 연령 값을 기준으로 정렬하려는 경우 유용합니다.
이것은 정렬 방법의 추가 기능이 들어오는 곳입니다.
정렬을 향상시키는 데 사용할 수 있는 인수를 사용할 수 있습니다.
users.sort((a, b) => {
// Do something with a and b
});
위의 예제 코드는 우리가 사용할 수 있는 구문입니다.
비교를 위해 첫 번째 요소와 두 번째 요소가 필요합니다.
숫자를 기준으로 정렬하기 때문에 숫자를 정렬할 수 있는 빠른 옵션도 제공됩니다.
users.sort((a, b) => {
return a[1] - b[1];
});
// Returns:
// [
// [ 'Sanne', 1 ],
// [ 'Yaatree', 2 ],
// [ 'Nicole', 31 ],
// [ 'Chris', 33 ]
// ]
a와 b 비교를 전환하여 순서를 변경할 수도 있습니다.
users.sort((a, b) => {
return b[1] - a[1];
});
// Returns:
// [
// [ 'Chris', 33 ],
// [ 'Nicole', 31 ],
// [ 'Yaatree', 2 ],
// [ 'Sanne', 1 ]
// ]
그리고 무엇보다도, 손 정렬 기능으로 작성하여 매우 깔끔하게 만들 수 있습니다.
users.sort((a, b) => a[1] - b[1]));
그리고 그게 다야. 하위 배열 값을 기준으로 배열을 정렬하는 방법을 배웠습니다.
읽어주셔서 감사합니다. 연결합시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(하위 배열 값을 기준으로 JavaScript 정렬 배열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/javascript-sort-array-based-on-subarray-value-5776텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)