[JS] Array 배열 조작하기
1. 배열조작
1-1)index로 접근
index로 접근 할 경우 꼭 순서대로 접근할 필요는 없다. cities[3] = "대구";
원하는 순서에 배열에 접근할 수 있다.
let cities = [];
cities[0] = "서울";
cities[1] = "대전";
cities[3] = "대구";
console.log(cities) //[ '서울', '대전', <1 empty item>, '대구' ]
~~텍스트~~
cities[3] = "대구말고인천!" //재할당
console.log(cities) //[ '서울', '대전', <1 empty item>, '대구말고인천!' ]
1-2)push, unshift 함수로 접근 및 추가
push
는 배열의 맨 뒷부분에 요소를 추가해주며,
unshift
는 배열의 맨 앞부분에 요소를 추가해준다.
cities.push("경주")
console.log(cities); //[ '서울', '대전', <1 empty item>, '대구말고인천!', '경주' ]
cities.unshift("전주")
console.log(cities); //[ '전주', '서울', '대전', <1 empty item>, '대구말고인천!', '경주' ]
1-3) pop함수로 접근 및 삭제
pop
은 배열의 가장 마지막 요소를 삭제해 준다.
cities.pop(); //맨 마지막의 "경주"가 삭제될 예정
console.log(cities); //[ '전주', '서울', '대전', <1 empty item>, '대구말고인천!' ]
2. Assignment
- divideArrayInHalf 함수를 다음과 같이 구현해주세요.
- divideArrayInHalf 함수의 인자인 array는 숫자 값으로만 구성되어 있으며 정확히 총 5개의 요소(element)로 구성되어 있습니다.
- array의 요소들 중 10과 같거나 작은 값의 element들은 result의 맨 앞으로,- 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴해주세요.
2-1) 완성 코드
let array = [1,20,10,5,100];
function divideArrayInHalf(array){
let length = array.length;
let result = [];
for (i=0; i < length; i++){
let number = array.pop();
if (number<=10){
result.unshift(number);
} else {
result.push(number);
}
}
return result;
}
divideArrayInHalf(array);
// 반환 값 [1,10,5,100,20]
2-2) 오류났던 부분
- divideArrayInHalf 함수를 다음과 같이 구현해주세요.
- divideArrayInHalf 함수의 인자인 array는 숫자 값으로만 구성되어 있으며 정확히 총 5개의 요소(element)로 구성되어 있습니다.
- array의 요소들 중 10과 같거나 작은 값의 element들은 result의 맨 앞으로,- 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴해주세요.
let array = [1,20,10,5,100];
function divideArrayInHalf(array){
let length = array.length;
let result = [];
for (i=0; i < length; i++){
let number = array.pop();
if (number<=10){
result.unshift(number);
} else {
result.push(number);
}
}
return result;
}
divideArrayInHalf(array);
// 반환 값 [1,10,5,100,20]
1) let length = array.length;
와 let result = [];
를 for문 안쪽으로 넣어버린것. {}의 범위를 잘 파악하자.
2) for문
안에 array.length
를 그대로 넣어주어 array
가 pop
되면서 length
가 줄어들었다. 그래서 기본 array.length
만큼 반복하지 못하고 끝나버렸다.🤪
반복문 바깥으로 array.length
를 length
로 선언해 값을 고정해 주는것을 오류를 해결하였다.
더불어, 위의 문제는 array
의 요소가 5개라고 알려주었기 때문에 array.length
대신 5를 넣어줬어도 되지만 array
의 길이를 모를경우를 대비하여 위와 같이 해결하였다.
Author And Source
이 문제에 관하여([JS] Array 배열 조작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cecy-coding/JS-Array-배열-조작하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)