자바스크립트 7장

null·2023년 6월 23일
0

배열은 값의 순서 있는 집합. 순서, 즉 위치를 나타내는 숫자인 인덱스가 있다.
배열에는 모두 length 프로퍼티가 있다.

배열 생성 방법

//* 1. 배열 리터럴
let arr = [];

//배열 리터럴에 성긴 배열 생성. 값이 생략한 위치에 실제로 배열 요소가 존재하지는 않지만 검색하면 undefined가 반환.
//성긴 배열은 인덱스가 연속적이지 않다. 하여 성긴 배열의 경우 length 프로퍼티의 값이 요소 개수 보다 크다. 
let und = [1,,3];



//* 2. 분해 연산자
let a = [1,2];
let b = [0, ...a, 3]; //[0,1,2,3,4]

// 얕은 복사에 유용 
let original = [1,2,3];
let new = [...original];

new[0] = 0;
original[0] = 1;

배열 순회

entries() --> 각 요소 index가 필요하다면?

let letters = [..."Hello world"];
let empty = "";
for(let [index, letter] of letters.entries()) {
	if (index % 2 ===0) empty += letter;
    
}

empty = Hlowrd

forEach()
배열 순회를 함수형으로 바꾼 배열 메서드. 전달 받은 함수를 각 배열 요소에서 호출하는 것!!!

let data = [1,2,3,4,5] sum = 0;

//forEach는 배열 요소의 인덱스 배열 자체도 인자로 받을 수 있다는 게 포인트! 
data.forEach((item, i, a) => {
	retrun [a[i] => item + 1]
}) data = [2,3,4,5,6]

배열 메서드 (자주 사용하는데 헷갈렸던 개념 위주)

map()
반환 값이 배열이다 !

filter()
true, false를 반환

//let a = [1,2,3,4,5];

a.filter(x => x<3) //[1,2]

find() / findIndex()
true를 찾는다는 점에서 filter()와 같지만 이 친구들은 기준을 만족하는 첫 번째 요소를 찾으면 순회를 바로 멈춘다!
요소를 찾았다 --> find()는 요소를 반환 / dinfIndex는 인덱스를 반환.
요소를 찾지 못했다 --> find()는 undefined / dinfIndex는 -1.

every() / some()
이 친구들은 자신이 어떤 값을 반환할지 확실해지면 순회를 멈춘다.
some()은 true를 반환하는 즉시 멈추기 때문에 모든 요소를 순회하는 순간은 모든 요소가 false일때. 그럼 모든 값이 false라면.. ..해라 이런 조건식에 쓰면 좋겠지.

every()는 반대야. 하나라도 false면 바로 멈춘다. 모든 요소가 true일때만 다 순환하는 거.
이런건. 모든 요소가 조건식에 부합해야지만 통과할 수 있어~ 에 쓰면 좋다.

flat() --> ...연산자와 concat()도 평탄화 가넝.

[1,[2,3]] = [1,2,3];

concat()
인자에 배열이 들어있으면 배열이 아니라 그 요소를 추가하는 것!!! 기존 배열을 수정하지 않는다. 얕은 복사 !

slice() / splice()
splice()는 slice와 다르게 기존 배열을 수정한다.

배열을 문자열로 변환

join()toString()

let a = [1,2,3];
a.join("") //"123";
[1,2,3].toString() //"a,b,c";
profile
개발이 싫어.

0개의 댓글