[JavaScript] Array 조작하기 unshift() , push()
2022. 9. 24. 18:40ㆍCodingTest/JavaScript Q
문제)divideArrayInHalf 함수를 다음과 같이 구현해주세요.
- divideArrayInHalf 함수는 array를 인자로 받습니다. 이 array는 숫자 값으로 만 구성되어 있으며 총 5개의 요소(element)들로 구성되어 있습니다.
- divideArrayInHalf 함수는 인자로 들어온 array 로 부터 새롭게 구성된 배열 result 을 리턴합니다.
- array 요소들 중 10과 같거나 작은 값의 요소들은 result의 맨 앞으로, 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴 해주세요.
- 재구성이 되는 순서는 array의 맨 뒤 요소부터 맨 앞 요소까지 입니다. 즉, 배열의 뒷 요소 부터 재구성을 진행해주세요.
- 예를 들어, 인자로 들어오는 array가 다음과 같을 때
- 이 값을 [1, 20, 10, 5, 100]. >>>>> [1, 10, 5, 100, 20] 변경하세요
배열의 요소 추가.삭제 method
- 추가
- unshift() : 배열 맨 앞에 요소 추가
- push() : 배열 맨 뒤에 요소 추가
- 삭제
- shift() : 배열 맨 앞 부분 요소 삭제
- pop() : 배열 맨 뒤 부분 요소 삭제
먼저 result라는 빈배열의 변수를 먼저 선언합니다.
문제에 보면 재구성이 되는 순서는 array의 맨 뒤 요소부터 맨 앞 요소까지 입니다. 즉, 배열의 뒷 요소 부터 재구성을 진행해주세요.
for문을 이렇게 시작합니다(let i=4; i>=0; i--)
function divideArrayInHalf(array) {
let result = [];
for(let i=4; i>=0; i--){
if (array[i] <= 10 ) {
result.unshift(array[i]);
} else if (array[i] > 10){
result.push(array[i]);
}
}
return result;
}
console.log(divideArrayInHalf([1, 20, 10, 5, 100]))
///[1, 10, 5, 100, 20]
'CodingTest > JavaScript Q' 카테고리의 다른 글
[JavaScript] 최소값(min), 최대값(max) number (1) | 2022.09.24 |
---|---|
[JavaScript] String <-> Number 변환 `${}` (0) | 2022.09.24 |
[JavaScript] 문자열(string)을 변경 indexOf() , slice() (0) | 2022.09.24 |
[JavaScript] 빈 객체(object)에 key : value 추가 (0) | 2022.09.23 |
[JavaScript] birthdate 계산방법 (0) | 2022.09.23 |