let students = ["Tom","Mike","Jane","Kopp","Anold"]
// 요소 수정
students[3] = "Jonadan";
// let students = ["Tom","Mike","Jane","Jonadan","Anold"]
//요소 추가
students[5] = "Leo";
// let students = ["Tom","Mike","Jane","Jonadan","Anold", "Leo"]
// length: 배열에 담긴 요소의 갯수를 알아낼 수 있음
let students = ["Tom","Mike","Jane","Kopp","Anold"]
alert(students.length); // 5
// 요소 전체 출력 가능
let students = ["Tom","Mike","Jane","Kopp","Anold"]
alert(students); // Tom, Mike, Jane, Kopp, Anold
-배열은 객체와 마찬가지로 참조를 통해 복사됩니다.
let fruits = ["바나나"]
let arr = fruits; // 참조를 복사함(두 변수가 같은 객체를 참조)
alert( arr === fruits ); // true
arr.push("배"); // 참조를 이용해 배열을 수정합니다.
alert( fruits ); // 바나나,배 - 요소가 두 개가 되었습니다.
arr.push( ) : 배열 ‘끝’에 요소 추가
arr.pop( ) : 배열 ‘끝’ 요소 추출(제거)
arr.unshift( ) : 배열 ‘앞’ 에 요소 추가
arr.shift( ) : 배열 ‘앞’ 요소 추출(제거)
- 성능
push,pop은 빠르지만 shift, unshift는 느립니다.
이유는 배열 ‘앞’요소에 어떠한 조치를 취하는 것들은 뒤에 배열에 요소가 많아서 요소를 이동시켜야 하기 때문입니다.
ex. 0번인 요소를 추출해내면 1,2,3번인 요소들을 0,1,2요소들로 이동시켜야 함.
- for..of 문
for문 보다는 간단합니다. 인덱스를 얻지 못한다는 단점이 있지만,
배열의 요소를 대상으로 반복 작업을 할 때 사용해보는 것을 추천합니다.
let fruits = ["사과", "오렌지", "자두"];
// 배열 요소를 대상으로 반복 작업을 수행합니다.
for (let fruit of fruits) {
alert( fruit );
}
출처. 코딩애플