reserve / sort
sort
- 내림차순 정리 (가나다, 123, ABC)
- .sort()는 메소드 안에 함수를 파라미터로 넣어 1,-1,0를 리턴해서 순서를 정하는 방식
- 내림차순으로 정렬하고 싶으면 부등호 위치 변경 (<, >)이나 -1, 1을 변경하면 된다
- 첫 번째 인수가 두 번째 인수보다 작을 경우 - 값
- 두 인수가 같을 경우 0
- 첫 번째 인수가 두 번째 인수보다 클 경우 + 값
- 비교함수 규칙
-매개변수로 두개의 값(a, b)을 전달합니다.
-배열내의 임의의 요소 a와 b를 비교할 때 반환되는 값이 0보다 크면 a가 -b보다 앞에 옵니다.
-반환되는 값이 0보다 작으면 b가 a보다 앞에 옵니다.
-반환되는 값이 0이면 순위를 변경하지 않습니다.
1.1
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort();
console.log(arr); // [100, 20, 5]
1.2
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => {
if (a > b) {
return 1;
} else if (a < b) {
return -1;
} else {
return 0;
}
});
console.log(arr); // [5, 20, 100]
1.3 화살표 함수 이용
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => a - b);
console.log(arr); // [5, 20, 100]
1.4 내림차순으로
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => b - a);
console.log(arr); // [100, 20, 5]
1.5
var student = [
{name : "재석", age : 21},
{name : "광희", age : 25},
{name : "형돈", age : 13},
{name : "명수", age : 44}
]
student.sort(function(a, b) {
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
});
-> 값은 [광희, 명수, 재석, 형돈]
- a의 글자가 b의 글자보다 낮을 경우 즉 a가 ㄱ이고 b가 ㄷ일 경우
가나다로 봤을 때 a가 b보다 작으면 -1번째, 그런데 a가 더 크니까 false라서 -1번째가 아니고 : 뒤의 수식으로 간다
a가 더 크면 1번째이고 아니면 0번째로 간다
1.5 -1
student.sort(function(a, b) {
return a.name > b.name ? -1 : a.name < b.name ? 1 : 0;
});
-> 반대로 값은 [형돈, 재석, 명수, 광희]
1.6 위 수식을 짧게 바꾸면
student.sort(function(a, b) {
return a.name < b.name ? -1 : 1;
});
-> 값은 [광희, 명수, 재석, 형돈]
1.7 삼항 연산자 "?"
- 결과 = a가 참일 때 B, 거짓일 때 C를 리턴한다
var result = (a === true) ? B : c;
- if문으로 풀어 쓰면
var result = null;
if (a === true) {
result = B;
} else {
result = C;
};
reserve
- 오름차순 정리 (다나가, 321, CBA)
- 기존 배열이 변한다
1.1
let a = [1, 2, 3];
a.reserve();
console.log(a);
-> 값은 [3, 2, 1]
Author And Source
이 문제에 관하여(reserve / sort), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@gue1030/reserve-sort
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 첫 번째 인수가 두 번째 인수보다 작을 경우 - 값
- 두 인수가 같을 경우 0
- 첫 번째 인수가 두 번째 인수보다 클 경우 + 값
- 비교함수 규칙
-매개변수로 두개의 값(a, b)을 전달합니다.
-배열내의 임의의 요소 a와 b를 비교할 때 반환되는 값이 0보다 크면 a가 -b보다 앞에 옵니다.
-반환되는 값이 0보다 작으면 b가 a보다 앞에 옵니다.
-반환되는 값이 0이면 순위를 변경하지 않습니다.
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort();
console.log(arr); // [100, 20, 5]
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => {
if (a > b) {
return 1;
} else if (a < b) {
return -1;
} else {
return 0;
}
});
console.log(arr); // [5, 20, 100]
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => a - b);
console.log(arr); // [5, 20, 100]
const arr = [5, 100, 20];
console.log(arr); // [5, 100, 20]
arr.sort((a, b) => b - a);
console.log(arr); // [100, 20, 5]
var student = [
{name : "재석", age : 21},
{name : "광희", age : 25},
{name : "형돈", age : 13},
{name : "명수", age : 44}
]
student.sort(function(a, b) {
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
});
-> 값은 [광희, 명수, 재석, 형돈]
- a의 글자가 b의 글자보다 낮을 경우 즉 a가 ㄱ이고 b가 ㄷ일 경우
가나다로 봤을 때 a가 b보다 작으면 -1번째, 그런데 a가 더 크니까 false라서 -1번째가 아니고 : 뒤의 수식으로 간다
a가 더 크면 1번째이고 아니면 0번째로 간다
student.sort(function(a, b) {
return a.name > b.name ? -1 : a.name < b.name ? 1 : 0;
});
-> 반대로 값은 [형돈, 재석, 명수, 광희]
student.sort(function(a, b) {
return a.name < b.name ? -1 : 1;
});
-> 값은 [광희, 명수, 재석, 형돈]
var result = (a === true) ? B : c;
- if문으로 풀어 쓰면
var result = null;
if (a === true) {
result = B;
} else {
result = C;
};
- 오름차순 정리 (다나가, 321, CBA)
- 기존 배열이 변한다
1.1
let a = [1, 2, 3]; a.reserve(); console.log(a);
-> 값은 [3, 2, 1]
Author And Source
이 문제에 관하여(reserve / sort), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gue1030/reserve-sort저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)