티스토리 뷰
배열, 객체는 다량의 데이터를 다룰 수 있는 데이터 타입임
배열
: 순서(index)가 있는 값(element)
Method
: 기능을 가짐
Property(속성)
: 변수로 사용할 수 있음
arr.length
: '배열의 길이' 반환(Property)
Array.isArray()
: 인풋값이 배열인지 확인하여 'Boolean(T/F)'로 반환
arr.indexOf()
: 배열 내부에 인풋값이 있는지 확인하여 있으면 'index' 반환, 없으면 '-1' 반환
arr.includes()
: 배열 내부에 인풋값이 있는지 확인하여 'Boolean(T/F)'로 반환
Array.from()
: 인풋값이 문자열인 경우, 알파벳 하나하나가 element로 이루어진 '배열' 반환
인풋값이 유사배열객체(키가 인덱스)인 경우, 값(밸류)으로 이루어진 '배열' 반환
str.split()
: 인풋값을 기준으로 나눠진 '배열' 리턴. 인풋값이 없으면 [str] 반환(길이 1의 배열 [str])
arr.join()
: 배열 요소 사이에 인풋값을 넣은 '문자열'을 반환. 기본값 ','
arr.forEach(함수)
: 배열 요소 각각에 함수 실행.
mutable method(원본 변경)
arr.push()
: 인풋값을 배열 끝에 추가. '변경된 길이' 반환
arr.pop()
: 배열 끝값을 삭제. '삭제된 값' 반환
arr.shift()
: 배열 가장 앞값(index 0)을 삭제. '삭제된 값' 반환
arr.unshift()
: 배열의 맨 앞에 인풋값 추가. '배열의 길이' 반환
arr.splice(시작인덱스, 삭제개수, 배열추가요소1, 배열추가요소2,...)
: 인풋값이 하나면, 시작인덱스부터 배열끝까지 삭제
인풋값이 둘이면, 시작인덱스부터 삭제개수만큼 삭제
인풋값이 셋이상이면, 시작인덱스부터 삭제개수만큼 삭제, 그 위치에 배열추가요소 n개 추가
삭제했으면 삭제한 '배열' 반환, 추가했으면 빈 '배열' 반환
arr.reverse()
: 배열의 순서를 뒤집음. 바뀐 '배열' 반환
arr.fill(value, start, end)
: start index부터 end-1 index까지의 값을 value값으로 바꿈. 바뀐 '배열' 반환
start, end는 선택사항
immutable method(원본 유지)
arr.slice(start, end)
: 인풋값이 하나면, 인풋값부터 배열 끝까지의 복사된 '배열'을 리턴
인풋값이 둘이면, 처음값 index부터 두번째 값 index-1를 복사한 '배열'을 리턴
arr.length -3은 뒤에서부터 세번째 값. arr.length 생략하여 -3으로 표현할 수 있음
arr.concat()
: 배열에 인풋값을 추가한 '배열'을 리턴. 인풋값은 문자열, 배열 가능
참고 mutable immutable
Does it mutate?
The lastIndexOf() method returns the last index at which a given element can be found in the array, or -1 if it is not present. The array is searched backwards, starting at fromIndex.Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
doesitmutate.xyz
+)
반복문
for (변수 설정 in arr/dict)
: 키를 순회
for (변수 설정 of arr)
: 값을 순회
...arr (전개연산자)
개발자도구 debugger; 사용
함수가 단계별로 실행되어 에러 위치를 확인할 수 있음
1. 함수 선언
2. debugger; 함수 호출;
3. F9
arr === [ ]는 조건으로 사용할 수 없음
위 [ ]는 빈 배열이 아닌 비어있는 특정한 배열이 되며,
배열을 그 자체를 가리키는게 아니라 저장되어 있는 주소를 가리킨다
22.11.03
코스 S1U9 진행중
'코드스테이츠(SEB_FE_42)' 카테고리의 다른 글
[JS] 원시 자료형과 참조 자료형, 스코프, 클로저 (0) | 2022.11.07 |
---|---|
[JS] 객체 (0) | 2022.11.04 |
[CLI, Node.js, Git] 명령어, nvm, node, npm 등<초기 설정> (0) | 2022.11.02 |
[JS] Element 선택(querySelector/ getElementById) (0) | 2022.11.01 |
[CSS] 속성(z-index, filter 등), Grid (0) | 2022.10.31 |