본문 바로가기

WEB(Front-End)/Javascript

7. 배열 Array

Array, Map, Set, List

어떤 자료구조 알고리즘을 사용하면 삽입, 검색, 정렬, 삭제에 효율적인지 (BigO)

배열 (index : 0부터 시작)

1. 배열 선언 

- new Array();

- [값,값,값]

 

2. 배열 index 접근

const fruits=['사과','바나나'];

console.log(fruits);

console.log(fruits.length); //2

console.log(fruits[1]);

 

3. for of,

4. forEach 바로 콜백함수를 받아온다

5. Addition, Deletion (push, pop, unshift, shift, splice, concat)

뒤에 추가 push(값)

뒤에서 빼는 것 pop()

앞에 값 추가 unshift(값)

앞에 값 빼기 shift()

지정된 값 데이터 삭제 splice(시작인덱스번호,갯수optional,추가할값들,,,,) : 갯수 써주지않으면 시작인덱스부터 싹다없어짐

배열 합치기 배열.concat(또다른배열) : 새로운 배열변수로 지정해주어야 값 저장할 수 있음.

 

6. Searching (indexOf, includes, lastIndexOf)

인덱스 찾을 때 배열.indexOf('값')

:없는 값 찾을 때 -1 출력

값을 포함하는지 배열.includes('값')

: true, false

제일 마지막 인덱스의 값 : lastIndexOf('값')

'use strict';
console.log('배열 시작!!');
// Array
// 1. 배열 선언 
// - new Array();
// - [값,값,값]

const fruits=['사과','바나나'];
console.log(fruits);
console.log(fruits.length); //2
console.log(fruits[1]);

for (const fruit of fruits) {
    console.log(fruit);
}

fruits.forEach(function(fruit,index,array){
    console.log(fruit, index, array);
})

fruits.forEach((fruit,index)=>console.log(fruit));

console.log("Addition, Deletion, Copy");
fruits.push('딸기','복숭아');
console.log(fruits);

//뒤어서 빼는 것
fruits.pop();
console.log(fruits);
//앞에서 데이터 넣는 것 unshift
fruits.unshift('레몬');
console.log(fruits);
//앞에서 부터 데이터를 빼는 것 shift
fruits.shift();
console.log(fruits);
// 원하는 값 제거, 갯수 지정하지않으면 시작인덱스부터 뒤로 싹다 제거
fruits.splice(1,2);
console.log(fruits);
// 배열 합치기
const fruits2=['메론','키위'];
const newFruits=fruits.concat(fruits2);
console.log(newFruits);

console.log('Searching');
console.log(newFruits.indexOf('메론'));
console.log(newFruits.includes('감자'));
console.log(newFruits.lastIndexOf('딸기'));