arr[0]에 대해서 나머지원소들의 크기를 비교해서
arr[0]보다 크면 자리를 index를 바꾼다
arr[1]...반복의 반복 2중for문
// sort: arr의 원소들을 특정 로직에 따라 정렬한 새로운 arr
var arr2 = [];
for(var i=0; i<arr.length; i++)
arr2.push(arr[i]);
for(var i=0; i<arr2.length; i++) {
for(var j=i+1; j<arr2.length; j++) {
//j자신을 제외한 다음원소부터 비교
if (arr2[i].x < arr2[j].x) {
var temp = arr2[i];
//이 부분없이 바로 아래실행하면 arr2[i]값이 날라가고 오버라이드됨
arr2[i] = arr2[j];
arr2[j] = temp;
}
}
}
var arr2 = arr.sort((a,b) => {
if(a.x < b.x) return 1;
if(a.x == b.x) return 0;
return -1;
});
console.log(arr2);
var arr2 = arr.sort((a,b) => a.x < b.x ? 1 : (a.x == b.x ? 0 : -1));
console.log(arr2);
sort메소드의 인자로 주어진 함수의 리턴값은
1, 0, -1
대신 양수, 0, 음수
도 가능하다.
따라서 .sort((a,b) => b-a)
로 표기하는 것도 가능하다.