선택정렬

MINBOK·2022년 3월 24일
0
post-thumbnail

선택정렬

array에서 가장 작은 것을 순서대로 꺼내와 재정렬함

let a = [10, 11, 9, 2, 3, 6, 5, 4];

let 정렬된배열 = [];

for (var i = 0; i < 8; i++) {
    정렬된배열.push(Math.min.apply(null, a));
    a.splice(a.indexOf(Math.min.apply(null, a)), 1);
  
    console.log(`a : ${a}`); // a : 
    console.log(`결과: ${정렬된배열}`); // 결과: 2,3,4,5,6,9,10,11
}

Array.prototype.splice()

배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경하는 메서드

array.splice(변경을 시작할 인덱스, 제거할 요소의 수, 추가할 요소)
제거할 요소의 수가 생략되거나 array.length - 변경을 시작할 인덱스보다 크면 변경을 시작할 인덱스로 부터 모든 요소를 제거함


const months = ['Jan', 'March', 'April', 'June'];

1번 인덱스에서 아무것도 제거하지 않고 'Feb'를 추가

months.splice(1, 0, 'Feb');

console.log(months); // ["Jan", "Feb", "March", "April", "June"]

4번 인덱스에서 요소를 하나 제거하고 'May'를 추가

months.splice(4, 1, 'May');

console.log(months); // ["Jan", "Feb", "March", "April", "May"]

참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice#%EC%84%A4%EB%AA%85

Array.prototype.indexOf()

배열에서 지정된 요소를 찾는 메서드

const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];

'bison'의 인덱스 값을 반환

console.log(beasts.indexOf('bison')); // 1

인덱스 2번 요소부터 시작했을때, 'bison'의 인덱스 값을 반환
여기서는 'camel'을 인덱스 0이라고 생각했을때 'bison'의 인덱스 값을 의미함

console.log(beasts.indexOf('bison', 2)); // 4

존재하지않는 요소는 -1을 반환함

console.log(beasts.indexOf('giraffe')); // -1

참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

0개의 댓글

관련 채용 정보