splice 이용
let Arr = ['apple', 'banana', 'cherry', 'grape'];
const item = currentList.splice(1, 1) // ['banana']
Arr.splice(2, 0, item[0]) // [ 'apple', 'cherry', 'banana', 'grape' ]
// item[0]를 to위치로 이동함, 아무것도 삭제하지 않으므로 두번째 argument는 0이다.
맞교환
let fruits = ["Apple", "Banana", "Orange", "Mango"];
let tmp = fruits[2];
fruits[2] = fruits[0];
fruits[0] = tmp
console.log( fruits ); // ["Orange", "Banana", "Apple", "Mango"]
원소이동
let fruits = ["Apple", "Banana", "Orange", "Mango"];
let tmp = fruits[2];
fruits[2] = fruits[0];
fruits[0] = tmp
console.log( fruits ); // ["Orange", "Banana", "Apple", "Mango"]
대입
let arr = [1,2,3,4];
[arr[1], arr[2]] = [arr[2], arr[1]];
console.log(arr);
// [1,3,2,4]
문자열 배열 정렬
문자열 배열의 경우 sort() 호출 시, 알파벳 순서로 정렬됩니다.
오름차순)
const arr = ['kiwi', 'apple', 'melon', 'grape', 'banana'];
arr.sort();
console.log(arr); // [ 'apple', 'banana', 'grape', 'kiwi', 'melon' ]
내림차순)
const arr = ['kiwi', 'apple', 'melon', 'grape', 'banana'];
arr.sort(function (a, b) {
if (a > b) return -1;
else if (b > a) return 1;
else return 0;
});
console.log(arr); //[ 'melon', 'kiwi', 'grape', 'banana', 'apple' ]
내림차순2)
const arr = ['kiwi', 'apple', 'melon', 'grape', 'banana'];
arr.sort();
arr.reverse(); // 오름차순 정렬 이 후 뒤집기
console.log(arr); //[ 'melon', 'kiwi', 'grape', 'banana', 'apple' ]
숫자 배열 정렬
const arr = [22, 11, 2, 9, 1, 5]; arr.sort(); console.log(arr); //[ 1, 11, 2, 22, 5, 9 ]
숫자 배열에 sort() 수행 시, 숫자를 문자열로 변환하여 정렬을 합니다. 문자열 11은 2보다 작기 때문에 아래와 같이 숫자 크기대로 정렬되지 않습니다. 따라서 이 방법으로 정렬하면 안됩니다.
오름차순)
const arr = [22, 11, 2, 9, 1, 5];
arr.sort(function (a, b) {
return a - b;
});
console.log(arr); // [ 1, 2, 5, 9, 11, 22 ]
내림차순)
const arr = [22, 11, 2, 9, 1, 5];
arr.sort((a, b) => b - a);
console.log(arr); // [ 22, 11, 9, 5, 2, 1 ]
객체 배열 비교
객체에서 비교할 요소를 선택하고 크기를 비교하면 됩니다.
const arr = [
{id: 22, name: 'kiwi' },
{id: 11, name: 'apple' },
{id: 2, name: 'melon' },
{id: 9, name: 'grape' }
];
arr.sort((a, b) => a.id - b.id);
console.log(arr); // [
{ id: 2, name: 'melon' },
{ id: 9, name: 'grape' },
{ id: 11, name: 'apple' },
{ id: 22, name: 'kiwi' }
]
cf) 내림차순은 b.id - a.id 를 이용한다.
'Study > JS' 카테고리의 다른 글
스프레드 연산자 (1) | 2022.09.23 |
---|---|
배열 문자열바꾸기 & 배열 중복 제거하기 (0) | 2022.09.23 |
JS 숫자배열의 합 구하기 (0) | 2022.09.23 |
JS 배열 비교하기 (1) | 2022.09.23 |
프로퍼티 (0) | 2022.09.22 |