[JS] 배열

soor.dev·2021년 3월 9일
0

Java Script

목록 보기
22/26
post-thumbnail

배열은 선언된 변수에 여러개의 정보가 있을 때 사용한다.
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

입력받은 배열을 수정하면 안되는 경우는?

arr.slice()를 통해서 복사해서, 복사해준 변수에 수정해준다!

  let arr = [1,2,3]
  let newArr = arr.slice(); 
  newArr.unshift(5); // [5]
  return newArr; // [5, 1, 2, 3]

0개의 댓글