정렬
정렬은 요소를 오름차순 또는 내림차순으로 표시하는 것뿐입니다. Array.sort() 함수는 JavaScript의 compare() 함수에 따라 배열을 정렬하는 것입니다.
a) 주어진 프로그램에서 우리는 나이 속성을 기준으로 배열을 내림차순으로 정렬할 것입니다.
예시
<html>
<body>
<script>
var persons = [
{ name: 'rajesh', birthdate: 1845, death: 1875 },
{ name: 'Bharat', birthdate: 1909, death: 1917},
{ name: 'baba', birthdate: 1950, death: 1972 },
{ name: 'Tanish', birthdate: 2039, death: 2067 },
{ name: 'rahim', birthdate: 1989, death: 2049 }
]
var sortedArray = persons.sort(function(a,b) {
var lastPerson = a.death - a.birthdate;
var nextPerson = b.death - b.birthdate;
if (lastPerson > nextPerson) {
return -1;
} else {
return 1;
}
});
console.log(sortedArray);
</script>
</body>
</html> 브라우저 콘솔의 출력
{name: "rahim", birthdate: 1989, death: 2049}
{name: "rajesh", birthdate: 1845, death: 1875}
{name: "Tanish", birthdate: 2039, death: 2067}
{name: "baba", birthdate: 1950, death: 1972}
{name: "Bharat", birthdate: 1909, death: 1917}
b) 여기서 정렬은 age 속성을 사용하여 오름차순으로 배열을 정렬하기 위해 수행됩니다.
예시
<html>
<body>
<script>
var persons = [
{ name: 'rajesh', birthdate: 1845, death: 1875 },
{ name: 'Bharat', birthdate: 1909, death: 1917},
{ name: 'baba', birthdate: 1950, death: 1972 },
{ name: 'Tanish', birthdate: 2039, death: 2067 },
{ name: 'rahim', birthdate: 1989, death: 2049 }
]
var sortedArray = persons.sort(function(a,b) {
var lastPerson = a.death - a.birthdate;
var nextPerson = b.death - b.birthdate;
if (lastPerson < nextPerson) {
return -1;
} else
{
return 1;
}
});
console.log(sortedArray);
</script>
</body>
</html> 브라우저 콘솔의 출력
{name: "Bharat", birthdate: 1909, death: 1917}
{name: "baba", birthdate: 1950, death: 1972}
{name: "Tanish", birthdate: 2039, death: 2067}
{name: "rajesh", birthdate: 1845, death: 1875}
{name: "rahim", birthdate: 1989, death: 2049}