Array

이진화행·2022년 3월 21일

Kimeh

목록 보기
6/6

Array 데이터를 묶는 자료구조라고 생각하면 된다.
object랑 Array 차이점

object를 묶어두는 것을 자료구조 (Array)라고 합니다.

보통 다른 언어(타입이 있는 언어)에서는 동일한 타입만 오브젝트를 자료구조로 묶을 수 있음
하지만
javascript 는 dynamically typed language 임으로 타입이 동적으로 정의가능하다.

*다양한 타입을 묶는게 가능하지만 옳지 않다.

Index position

const fruits = ['●', '◎']
console.log(fruits);
console.log(fruits.length);
console.log(fruits['0']);
console.log(fruits['1']);
console.log(fruits[fruits.length - 1]);// <- 배열의 마지막 데이터에 접근하는 방법

Looping over an array

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

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

// c. forEach
fruits.forEach(function(fruit, index){
    console.log(fruit, index );
});
// 위와 동일
fruits.forEach((fruit) => console.log(fruit ));

print all fruits

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

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

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

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

Addtion, deletion, copy

// push: 뒤에 데이터 넣기 
fruits.push('&','*');
console.log(fruits);

// pop: 뒤에서 부터 데이터 빼기
fruits.pop();
fruits.pop();
console.log(fruits);

// unshift: 앞에서 부터 데이터 넣기
fruits.unshift('&','*');
console.log(fruits);


// shift: 앞에서 부터 데이터 빼기

fruits.shift();
fruits.shift();
console.log(fruits);

shift 와 unshift 는 pop 과 push 보다 느리다
뒤에 아무것도 없는 공간에 넣었다 뺐다 함으로 기존 데이터는 건들지않아서 빠르게 진행 가능
앞에서 데이터 넣는다면 데이터를 먼저 옮긴 후 작업힘으로 뒤에 넣는 것보다 느리게 됨
가능하면 shift 와 unshift 보단 pop 과 push 를 사용하는것을 권장함

splice 데이터 지우기

fruits.push('&','*');
console.log(fruits);
fruits.splice(1);
// 개수 지정을 하지않으면 지정한 인덱스 부터 모든 데이터를 지움
console.log(fruits);

fruits.push('&','*','※');
console.log(fruits);
fruits.splice(1,1);
console.log(fruits);

fruits.splice(1,1,'#','□');
// 지우고 원하는 데이터 추가 가능
console.log(fruits);

combin two arrays 두가지 배열 묶기

const fruit2 = ['a','b'];
const newFruits = fruits.concat(fruit2);
console.log(newFruits);

배열안에 어떤 값이 몇번째 index 에 있는지 알고싶을때 사용가능

console.log(fruits);
console.log(fruits.indexOf('#'));
console.log(fruits.indexOf('1'));
// 배열에 없는 함수를 찾을 경우엔 마이너스(-) 값이 출력됨
console.log(fruits.includes('#'));
// 배열에 #이 있는지 없는지 true , 혹은 false 로 나타내주는 함수
console.clear();
// lastIndexOf
fruits.push('#');fruits.push('#');
console.log(fruits);
console.log(fruits.indexOf('#')); 
console.log(fruits.lastIndexOf('#'));
// 동일 값이 있을 경우 마지막이 index 를 알려줌
profile
기술블로그

0개의 댓글