let numbers = [30, 2, 10];
numbers.sort();
console.log(numbers); // 출력: [10, 2, 30] (유니코드 순서로 정렬됨)
let numbers = [30, 2, 10];
numbers.sort((a, b) => {
console.log(a,b)
return 0
});
// 출력: 2, 30
// 10, 2
a(뒤 요소),b(앞 요소)를 비교해 연산했을때,
음수
: 두 자리 바꿈
양수
: 그대로
0
: 그대로
let numbers = [30, 2, 10];
numbers.sort((a, b) => a - b);
console.log(numbers); // 출력: [2, 10, 30]
let numbers = [30, 2, 10];
numbers.sort((a, b) => b - a);
console.log(numbers); // 출력: [30, 10, 2]
let numbers = [30, 2, 10];
numbers.sort((a, b) => -1);
console.log(numbers); // 출력: [10, 2, 30]
let words = ["apple", "banana", "kiwi", "cherry"];
words.sort((a, b) => a.length - b.length);
console.log(words); // 출력: ["kiwi", "apple", "cherry", "banana"]
let fruits = ["banana", "apple", "cherry"];
fruits.sort();
console.log(fruits); // 출력: ["apple", "banana", "cherry"]
let users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 20 },
{ name: "Charlie", age: 30 }
];
// 나이순으로 오름차순 정렬
users.sort((a, b) => a.age - b.age);
console.log(users);
// 출력: [{name: "Bob", age: 20}, {name: "Alice", age: 25}, {name: "Charlie", age: 30}]
// 복사본 만들어 정렬하기
// 1. slice() 메서드 사용
let numbers = [10, 2, 30];
// 배열의 복사본을 만들어서 정렬
let sortedNumbers = numbers.slice().sort((a, b) => a - b);
console.log("원본 배열:", numbers); // 원본 배열: [10, 2, 30]
console.log("정렬된 배열:", sortedNumbers); // 정렬된 배열: [2, 10, 30]
// 2. 스프레드 연산자 사용
let numbers = [10, 2, 30];
// 배열의 복사본을 만들어서 정렬
let sortedNumbers = [...numbers].sort((a, b) => a - b);
console.log("원본 배열:", numbers); // 원본 배열: [10, 2, 30]
console.log("정렬된 배열:", sortedNumbers); // 정렬된 배열: [2, 10, 30]
// 3. Array.from() 사용
let numbers = [10, 2, 30];
// 배열의 복사본을 만들어서 정렬
let sortedNumbers = Array.from(numbers).sort((a, b) => a - b);
console.log("원본 배열:", numbers); // 원본 배열: [10, 2, 30]
console.log("정렬된 배열:", sortedNumbers); // 정렬된 배열: [2, 10, 30]