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('딸기'));