인덱스 0번째 값은 정렬이 되어 있다고 가정하고, 인덱스 첫 번째 요소부터 정렬함,
비교되는 요소가 정렬된 부분보다 값이 작다면 요소 교환을 실행함
let 입력값 = [5, 10, 66, 77, 54, 32, 11, 15];
let 정렬된배열 = [];
let 배열의길이 = 입력값.length; // 입력값이 줄어들면 length도 줄어드는 것을 방지하기위해 선언
function getIdx(정렬된배열, 삽입값) {
for (let i in 정렬된배열) {
if(삽입값 < 정렬된배열[i]) {
return i;
}
}
return 정렬된배열.length;
}
for(let i = 0; i < 배열의길이; i++) {
삽입값 = 입력값.shift();
인덱스 = getIdx(정렬된배열, 삽입값);
정렬된배열.splice(인덱스, 0, 삽입값);
}
i = 0)
정렬된 배열 = [];
삽입값 = 5;
인덱스 = 0;
정렬된배열.splice(0, 0, 5);
i = 1)
입력값 = [10, 66, 77, 54, 32, 11, 15];
정렬된 배열 = [5];
삽입값 = 10;
인덱스 = 1;
정렬된배열.splice(1, 0, 10);
i = 2)
입력값 = [66, 77, 54, 32, 11, 15];
정렬된 배열 = [5, 10];
삽입값 = 66;
인덱스 = 2;
정렬된배열.splice(2, 0, 66);
i = 3)
입력값 = [77, 54, 32, 11, 15];
정렬된 배열 = [5, 10, 66];
삽입값 = 77;
인덱스 = 3;
정렬된배열.splice(3, 0, 77);
i = 4)
입력값 = [54, 32, 11, 15];
정렬된 배열 = [5, 10, 66, 77];
삽입값 = 54;
인덱스 = 2;
정렬된배열.splice(2, 0, 54);
i = 5)
입력값 = [32, 11, 15];
정렬된 배열 = [5, 10, 54, 66, 77];
삽입값 = 32;
인덱스 = 2;
정렬된배열.splice(2, 0, 32);
i = 6)
입력값 = [11, 15];
정렬된 배열 = [5, 10, 32, 54, 66, 77];
삽입값 = 11;
인덱스 = 2;
정렬된배열.splice(2, 0, 11);
i = 7)
입력값 = [15];
정렬된 배열 = [5, 10, 11, 32, 54, 66, 77];
삽입값 = 15;
인덱스 = 3;
정렬된배열.splice(3, 0, 15);
입력값 = [];
정렬된 배열 = [5, 10, 11, 15, 32, 54, 66, 77];
배열에서 맨 앞 요소를 제거하고, 제거된 요소를 반환하는 메서드
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1); // [2, 3]
console.log(firstElement); // 1
✨참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
새로운 요소를 배열의 맨 앞쪽에 추가하는 메서드
const array1 = [1, 2, 3];
array1.unshift(4, 5);
console.log(array1); // [4, 5, 1, 2, 3]
✨참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift
배열의 끝에 하나 이상의 요소를 추가하는 메서드
const animals = ['pigs', 'goats', 'sheep'];
animals.push('cows');
console.log(animals); // ["pigs", "goats", "sheep", "cows"]
animals.push('chickens', 'cats', 'dogs');
console.log(animals);
// ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]
✨참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/push
배열에서 마지막 요소를 제거하는 메서드
const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
console.log(plants.pop()); // "tomato"
// expected output: "tomato"
console.log(plants); // ["broccoli", "cauliflower", "cabbage", "kale"]
plants.pop();
console.log(plants); // ["broccoli", "cauliflower", "cabbage"]
✨참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/pop