배열은 선언된 변수에 여러개의 정보가 있을 때 사용한다.
string과 같이 index를 적용할 수 있으며, 인덱스값을 벗어나면 undefined를 반환하게 된다.
let fruits = ['apple', 'banana', 'orange'];
let nums = [[10, 30], [50, 70], [90, 110]];
num[1][0] // [50]
nums.length // 3
뒤에서 요소 추가 array.push(추가할 값)
nums.push(100, 200)를 바로 콘솔창에 시도했을때, 추가한 값의 length가 출력되었다. 그리고 다시 console.log(nums)를 해 주니까 100, 200을 추가한 배열이 출력되었다!!
뒤에서 요소 제거 array.pop()
nums.pop()을 하면 마지막 인덱스의 요소가 출력되고, console.log(nums)를 해주면 제거한 후의 전체 배열이 출력된다.
let nums = [1, 2, 3, 4]; //
nums.push(9); // [1, 2, 3, 4, 9] 배열 마지막에 ()안의 값 추가
nums.push(9, 10); // [1, 2, 3, 4, 9, 10] ()안에 여러개가 들어갈 수 있음
nums.pop(); // [1, 2, 3] 배열의 마지막값 제거
앞에서 요소 추가 arr.unshift(추가할 값)
앞에서 요서 제거 arr.shift()
unshift()와 push() : 추가하는 메소드는 바로 arr.unshift()나 arr.push()를 하면 추가된 값의 길이가 반환되므로, arr를 반환해줘야한다.
shift(), pop() : 제거하는 메소드는 바로 arr.shift()나 arr.pop()을 하면 제거된 값만 반환되므로, arr로 반환해줘야 한다.
Array.isArray
배열은 타입을 객체로 반환하기 때문에, Array.isArray()를 통해 boolean타입의 값을 반환하여 구분한다.
typeof [] // object
Array.isArray([]) // true
let arr = [1,2,3]
let newArr = arr.slice();
newArr.unshift(5); // [5]
return newArr; // [5, 1, 2, 3]