-
[TIL] Today I Learned : 배열 요소 추가, 제거 - divideArrayInHalf 함수프론트엔드 개발자가 될거야./js 2022. 6. 23. 16:02
배열 요소 추가하기 - index로 접근,push(), unshift()
1. index로 접근
let cities = [ ]; 일 때
cities[0] = "서울"; // ["서울"]
cities[1] = "대전"; // ["서울", "대전"]
cities[2] = "대구"; // ["서울", "대전", "대구"]이렇게 요소를 추가해 줄 수 있다.
2. 메서드로 접근
push는 배열의 마지막 부분, 즉 꼬리에 요소들을 추가하고,
unshift는 배열의 맨 앞부분, 즉 머리 부분에 요소를 추가한다.
let cities = [ ]; 일 때
cities.push("경주", "전주"); // ["경주", "전주"]
cities.unshift("인천"); // [ "인천", "경주", "전주"]배열 요소 제거하기 - pop()
pop 메소드를 사용하면 마지막 요소가 제거된다.
👀 문제 👀
divideArrayInHalf 함수를 다음과 같이 구현해주세요.
- divideArrayInHalf 함수는 array를 인자로 받습니다.
이 array는 숫자 값으로 만 구성되어 있으며 총 5개의 요소(element)들로 구성되어 있습니다.
- divideArrayInHalf 함수는 인자로 들어온 array 로 부터 새롭게 구성된 배열 result 을 리턴합니다.
- array 요소들 중 10과 같거나 작은 값의 요소들은 result의 맨 앞으로,
10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴 해주세요.
- 재구성이 되는 순서는 array의 맨 뒤 요소부터 맨 앞 요소까지 입니다.
즉, 배열의 뒷 요소 부터 재구성을 진행해주세요.
- 예를 들어, 인자로 들어오는 array가 다음과 같을 때.
[1, 20, 10, 5, 100]
result 배열이 만들어 지는 순서는 다음과 같습니다.
- [100]
- [5, 100]
- [10, 5, 100]
- [10, 5, 100, 20]
- [1, 10, 5, 100, 20]
따라서 아래와 같은 result가 리턴 되어야 합니다.
[1, 10, 5, 100, 20]
💖 정답 💖
function divideArrayInHalf(array) { let result = []; for (let i = array.length-1; i > -1 ; i--) { if (array[i] <= 10) { result.unshift(array[i]); } else if (array[i] > 10) { result.push(array[i]); } } return result; } divideArrayInHalf([1, 20, 10, 5, 100]); console.log(divideArrayInHalf([1, 20, 10, 5, 100]));
먼저, 빈 배열을 만들어준다.
let result = [ ];
그리고 배열의 뒷 요소 부터 재구성을 진행해주어야 하니까
let i = array.length-1부터 시작하고
배열의 뒤요소부터 앞요소로 가도록 i-- 를 준다.
그리고 배열에는 -요소가 없으니 i > -1 를 조건으로 줘서 -가 되면 멈추도록
for문을 만들었다.
i > -1 를 조건으로 주는 것이 포인트.....🍀🍀🍀🍀🍀
'프론트엔드 개발자가 될거야. > js' 카테고리의 다른 글
[TIL] Today I Learned : 개념공부 - string <-> number 변환 / 날짜 객체 (0) 2022.06.23 [TIL] Today I Learned : Srting - sliceCityFromAddress함수 (0) 2022.06.23 [TIL] Today I Learned : 수학표현식, 논리연산자, 가위 바위 보 게임 함수 만들기(rockPaperScissors 함수) (0) 2022.06.23 [TIL] Today I Learned : for문 - findSmallestElement 함수 (0) 2022.06.22 [노마드 코더] 바닐라 JS로 크롬 앱 만들기 (0) 2022.06.19