[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.)