[JS] array

Hyodduru ·2021년 10월 26일
0

JavaScript

목록 보기
18/60
post-thumbnail

출처 : 유튜브 드림코딩 자바스크립트

▪️ 자료 구조 : 비슷한 것들을 한 데 묶어놓는 것. 비슷한 type의 object들을 묶어놓는 것. (ex array)
▪️object : 서로 연관된 특징과 행동들을 묶어놓는 것.

JS === dynamically typed language
=> type이 없기 때문에 다양한 종류들을 한 데 묶어 놓을 수 있지만 좋은 방식은 아님!

Array (첫 자료구조)

1. Declaration

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

2. Index postition

const fruits = ['🍎', '🍌'];
console.log(fruits);

console.log(fruits.length);
console.log(fruits[0]);
console.log(fruits[fruits.length -1]);//배열의 마지막 index item 가져오는 법

3. Looping over an array

print all fruits
a. for

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

b. for of

for(let fruit of fruits){     //let 써주는 것 잊지말기!
    console.log(fruit);
}

c. forEach

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

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

4. Addition, deletion, copy

▪️ push: add an item to the end

fruits.push('🍊','🍒');
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('🍇', '🍉');
console.log(fruits); //item이 배열 앞에 추가된다.


▪️ shift : remove an item from the beginning //shift : 당겨오다, 움직이다

fruits.shift(); // 🍇 사라짐 
console.log(fruits);

note!!) shift, unshift are slower than pop, push

  • why? 맨 앞의 아이템을 추가하거나 삭제하면 아이템 순차적으로 앞으로 다시 땡겨오거나 뒤로 보내줘야함.
    아이템을 앞에 추가하면 기존의 아이템들을 뒤로 보내야 하기 때문에 unshift,
    아이템을 빼면 기존의 아이템 땡겨와야하니 shift

결론) push와 pop을 쓰는 것이 좋다.

▪️ splice : remove an item by index position splice : 이어주다 이런 의미

설명란) splice(start: number, deleteCount?: number): string[]

seleteCount 뒤의 ? 는 optional 이라는 뜻. 값을 지정해도 되고 안해도 된다.

fruits.push('🍈','🍅','🥭');
console.log(fruits);
fruits.splice(1 , 1) ;
console.log(fruits); // deleteCount를 적지 않으면, 맨 앞의 아이템인 🍉 제외하고 다 지워버림.
fruits.splice(1,1,'🥝','🍍');
console.log(fruits); // 두번째 item을 지우고 그 자리에 위의 두 아이템을 추가함. 

concat : combine two arrays

const fruits2 = ['🥒','🫐'];
const newFruits = fruits.concat(fruits2);

console.log(newFruits);

5. Searching

▪️ indexOf : find the index

console.log(fruits);
console.log(fruits.indexOf('🍅')); //4 출력

▪️ includes

console.log(fruits.includes('🥝'));// true 출력. 배열이 해당 item을 포함하고 있는지를 확인해줌
console.log(fruits.includes('🧀'));// false

▪️ lastIndexOf : 해당 item중 가장 마지막 index의 item을 출력한다.

fruits.push('🍉');
console.log(fruits.indexOf('🍉')); // 0 출력
console.log(fruits.lastIndexOf('🍉')); // 6 출력 
profile
꾸준히 성장하기🦋 https://hyodduru.tistory.com/ 로 블로그 옮겼습니다

0개의 댓글