
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>, '대구말고인천!' ]
push는 배열의 맨 뒷부분에 요소를 추가해주며,
unshift는 배열의 맨 앞부분에 요소를 추가해준다. 
cities.push("경주")  
console.log(cities);  //[ '서울', '대전', <1 empty item>, '대구말고인천!', '경주' ]
cities.unshift("전주") 
console.log(cities);  //[ '전주', '서울', '대전', <1 empty item>, '대구말고인천!', '경주' ]
pop은 배열의 가장 마지막 요소를 삭제해 준다. 
cities.pop(); //맨 마지막의 "경주"가 삭제될 예정 
console.log(cities);  //[ '전주', '서울', '대전', <1 empty item>, '대구말고인천!' ]
- 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의 길이를 모를경우를 대비하여 위와 같이 해결하였다.