변수를 사용하는데 많은 값이 필요한경우, 계속 할당을 하기에는 번거롭다. 그럴때 사용하기에 적합하고 같은 타입의 자료를 담은 자료구조 이다. '[ ]' 를 사용하여 (,) 로 구분할수 있다.
문자열, 숫자 둘다 가능하다.
배열은 구성하는값 요소(Element)와 배열의 위치 순번(index)로 구분이 가능하다.
let fruits = ['apple' , 'banana' , 'peach'];
Element | index |
---|---|
'apple' | 0 |
'banana' | 1 |
'peach' | 2 |
해당 값과 순서를 알수있고, 값을 변경하려면
let fruits = ['apple','banana','peach']
fruits[2]; //'peach'
fruits[2] = 'grape'
fruits[2]; //'grape'
길이도 알수있다.
let fruits = ['apple','banana','peach']
fruits.length; // 3
요소(Element)를 추가
unshift
: 첫값 push
: 마지막값
let fruits = ['apple','banana','peach'];
fruits.push('Orange'); // ['apple', 'banana', 'peach', 'orange'] 마지막 값에 추가
fruits.unshift('Orange'); // ['apple', 'banana', 'peach', 'orange'] 첫 값에 추가
요소(Element)를 삭제
shift
: 첫값 pop
: 마지막값
let fruits = ['apple','banana','peach','orange'];
fruits.pop(); //마지막 값 삭제 ['apple', 'banana', 'peach']
fruits.shift(); //첫번째 값 삭제 ['banana', 'peach', 'orange']
배열 합치기
concat
let num1 = [1,2,3];
let num2 = [5,6];
num1.concat(num2); //[1,2,3,4,5,6]
특정값의 타입이 배열인지 판별
Array.isArray
let fruits = ['apple','banana','peach'];
Array.isArray(fruits); // true
Array.isArray([]); // true
Array.isArray('banana'); //false
Array.isArray(123); //false
값의 순번(index)확인
indexOf
let fruits = ['apple','banana','peach'];
fruits.indexOf('peach'); //2
fruits.indexOF('strawberry'); //-1 없는값은 -1을 출력한다
fruits.indexOf('Peach'); //-1 대소문자도 구분한다.
값이 있는지 boolean값을 확인
includes
let fruits = ['apple','banana','peach'];
fruits.includes('peach'); // true
fruits.includes('strawberry'); //false
배열의 n번째를 잘래낸 값 출력
silce
let fruits = ['apple','banana','peach'];
fruits.slice(0,1); // ['apple']
fruits.slice(0,2); // ['apple' , 'banana']
fruits.slice(0,3); // ['apple','banana','peach']
배열의 n번째를 잘라내고 나머지 값 출력
silce
let fruits = ['apple','banana','peach'];
fruits.slice(1); // ['banana','peach']
fruits.slice(2); // ['peach']
fruits.slice(3); // []
문자열을 배열로 바꾸고싶을때
split
let name = 'park,jo,lee,song';
name.split(','); // ['park','jo','lee','song']
배열을 문자열로 바꾸고싶을때
join
let fruits = ['apple','banana','peach'];
fruits.join(); // 'apple','banana','peach'
배열안에 또다른 배열이 있는것으로 push
를 사용하여 이중배열 을 만들수 있다.
let arry = [];
let num1 = [1,2];
let num2 = [3,4];
let num3 = [5,6,7];
arry.push(num1,num2,num3); // [[1,2],[3,4],[5,6,7]]
배열 반복문 으로 배열안의 문자를 (arr[n]) 가져올때 유용하다
let foods = ['chicken','Ramen','staek','potato']
for(let i = 0 ; i < foods.length; i++){
console.log(foods[i]); } // 출력값 : 'chicken','Ramen','staek','potato'
for of
: 엘리먼트를 출력한다.
let foods = ['chicken','Ramen','staek','potato']
for(let i of foods){
console.log(i); } // 출력값 : 'chicken','Ramen','staek','potato'
for in
: 인덱스(순번) 값을 출력한다.
let foods = ['chicken','Ramen','staek','potato']
for(let i in foods){
console.log(i); } // 출력값 : 0,1,2,3