javascript

15. Array 심화학습

으누아빠 2020. 6. 29. 11:03
반응형

Array 심화학습

1. Declaration [선언]

const arr1 = new Array();
const arr2 = [];

2. Index position [index 접근]

const fruits = ['apple', 'banana'];
console.log(fruits); //결과값 [ 'apple', 'banana' ]
console.log(fruits.length); //배열의 개수 반환 결과값 2
console.log(fruits[0]); //결과값 apple
console.log(fruits[1]); //결과값 banana
console.log(fruits[2]); //결과값 undefined
console.log(fruits[fruits.length - 1]); //마지막 배열값 호출 banana

3. Looping over an array 배열 반복 [반복문]

  1. for문을 이용하는 방법
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

//결과값
// apple
// banana
  1. for of를 이용 [ES6 문법]
for (let fruit of fruits) {
    console.log(fruit);
}

//결과값
// apple
// banana
  1. forEach를 이용
    • 메서드는 주어진 함수를 배열 요소 각각에 대해 실행
    • 구문 forEach(callback)
    • callback: 콜백함수이며 배열 하나하나 마다 실행
    • callback의 인자로는 value,index,array 전달됨
    • value 해당 배열의 값
    • index 해당 배열의 Index
    • array 배열의 전체값
fruits.forEach(function (value, index, array) {
    console.log(value);
    console.log(index);
});

//결과값
// apple
// 0
// banana
// 1

//불필요한 구문삭제

fruits.forEach(function (value) {
    console.log(value);
});

//결과값
//apple
//banana

//ES6 arrow 함수를 이용 [추후 ES6 메뉴에서 정리할 예정]

fruits.forEach((value) => console.log(value));

//결과값
//apple
//banana

4. 추가, 삭제, 복사

  1. push: 배열 마지막에 추가
fruits.push('melon');
console.log(fruits);

//결과값 [ 'apple', 'banana', 'melon' ]
  1. pop: 마지막 요소 삭제
fruits.pop();
console.log(fruits);

//결과값 [ 'apple', 'banana' ]
  1. unshift: 배열 맨 처음에 요소 추가
fruits.unshift('melon');
console.log(fruits);

//결과값 [ 'melon', 'apple', 'banana' ]
  1. shift: 배열의 맨 처음의 요소 삭제
fruits.shift();
console.log(fruits);

//결과값 [ 'apple', 'banana' ]
//주의: 메모리 구조상 shift 와 unshift 는 push 와 pop 보다 훨씬느리다.
  1. spice: 배열의 요소를 지정한 위치로 삭제. 인자값: 시작하는 인덱스,삭제할 개수
fruits.push('melon', 'lemon');
console.log(fruits); //결과값: [ 'apple', 'banana', 'melon', 'lemon' ]

fruits.splice(1) //두번째 인자값을 지정하지 않으면 시작index부터 모든 값을 삭제
console.log(fruits); //결과값: [ 'apple' ]

fruits.push('banana','melon', 'lemon');
console.log(fruits); //결과값: [ 'apple', 'banana', 'melon', 'lemon' ]

fruits.splice(1,1);
console.log(fruits); //결과값: [ 'apple', 'melon', 'lemon' ]

fruits.splice(1,1,'tomato','Kiwi');
console.log(fruits); //인덱스 1부터 1개를 삭제한후 tomato,kiwi 추가
// 결과값 [ 'apple', 'tomato', 'Kiwi', 'lemon' ]
  1. concat: 두개의 배열을 합침
const fruits2 = ['apple'];
const fruits3 = ['banana'];
const sumFruits = fruits2.concat(fruits3);
console.log(sumFruits); //결과값 [ 'apple', 'banana' ]

5. Searching [index 접근]

console.log(fruits.indexOf('apple')); // 0번째 index 결과값 0
console.log(fruits.includes('apple')); //결과값 true
console.log(fruits.includes('test')); //결과값 false

console.log(fruits.lastIndexOf('apple')); // 가장 마지막에 확인된 값 호출