JS-7일차(array)

김혜성·2021년 7월 9일
0

프론트엔드

목록 보기
10/17

Object vs Data structure

JS에서의 자료구조

  • 검색, 정렬, 삽입, 삭제

Declaration

const arr1 = new Array();
const arr2 = [1, 2];

Index position

const fruits = ['python', 'banana'];
console.log(fruits);
console.log(fruits.length);
console.log(fruits[0]);
console.log(fruits[fruits.length - 1]);

Looping over an array

// print all elements

// a. for
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

// b. for of
for (let fruit of fruits) {
    console.log(fruit);
}

// c. forEach
fruits.forEach((fruit) => console.log(fruit));

Addition, deletion, copy

// push: add an item to the end
fruits.push('butter', 'comet');
console.log(fruits);
// pop: remove an item from the end
fruits.pop();
fruits.pop();
console.log(fruits);
// unshift: add an item to the beginning
fruits.unshift('butter', 'comet');
// shift: remove an itemfrom the beginning
fruits.shift();
fruits.shift();
console.log(fruits);
// note!!!!! shift, unshift are much slower than pop and push
// 맨 앞에 넣으려면 죄다 뒤로 한칸씩 옮겨주어야 함

// splice: remove an item by index position
// splice(index, 지울 개수, 해당 인덱스에 추가할 문자열)
// 지울 개수가 지정이 안되면 해당 index부터 쭈욱 다 지운다
fruits.push('airplane', 'coke', 'sleep');
console.log(fruits);
fruits.splice(1); //인덱스 1번부터 끝까지 다지움(0만 남음)
fruits.splice(1, 1); //인덱스 1번부터 1개(1번만) 지움
fruits.splice(1, 2, 'js', 'node'); // 1,2 지우고 그 자리에 js, node 넣음

// concat: combine two arrays
const fruits2 = ['pear', 'ship'];
const newFruits = fruits.concat(fruits2);
console.log(newFruits);

Searching

// indexof: find the index
console.clear();
console.log(fruits);
console.log(fruits.indexOf('python'));
// includes: return t/f if element is included
console.log(fruits.includes('JS'));
// lastIndexof
console.clear();
fruits.push('node');
console.log(fruits);
console.log(fruits.indexOf('node')); // 가장 먼저 오는 인덱스번호 반환
console.log(fruits.lastIndexOf('node')); //last이기에 여러개 있으면 그중 가장 큰 인덱스번호 반환
profile
똘멩이

0개의 댓글