오늘의 키포인트
배열
나의 이해
배열 : 대량의 데이터를 처리 및 관리하기 위해
문법 및 중요
let arr = [1,2,3] // [] 안에 ,로 나눠서 배열 선언
요소(element) : 배열의 하나의 값
index : 배열의 순서
배열에 문자열을 넣을 수 있음
index를 벗어나면 undefined
let numbers = [[13, 30], [73, 8], [44, 17]]; // 처럼 배열안에 배열도 가능
console.table() : 표 형식으로 보임
arr.length : 배열 길이
concat : array1.concat(array2) : array1+array2 // 두개의 배열을 합침 길이3과 2 면 5됨
Array.isArray() : 배열이면 true // typeof로 보면 object가 나옴 그래서 구분 안됨
arr.unshift(element) : 맨 앞에 element 추가
arr.push(element) : 배열 마지막에 element추가 (배열 길이가 늘어남)
arr.shift() : 맨 앞에꺼 뺌
arr.pop() : 마지막 배열 자체를 삭제
arr.splice(a, b, c, d) : a에서부터 b만큼 제거후 c와 d 추가 // 추가만 하고 싶으면 b에 0 넣으면 됨
위에 5개의 메서드는 함수 자체를 변경시킴
let a=[1,2]; 에서 뒤에 2를 빼고싶다면
a.pop();
return a;
이렇게 해야함 a.pop()를 리턴하면 삭제되는 값이 출력됨
그리고
a=[1,2];
b=a;
b.pop();
를 하면 a와 b 둘다 [1]이 됨 a를 유지하고 b만 삭제하려면 2번쨰 줄에서 b=a.slice()를 해야함
arr.slice(start,end) : start이상 end미만 출력 // .slice()는 전체출력 복사할 때 사용
arr.join() : 괄호 안 내용으로 배열을 묶어 하나의 문자열로 / 생략하면 ,
배열 요소 포함 여부 확인
arr.indexOf(element) : element가 있는 index나옴, 없으면 -1
그래서 arr.indexOf(element) !== -1; 이 트루면 포함된거로 쓸 수 있고
이렇게 함수를 만들어 써도 되지만
function haselement(arr, element){
return arr.indexOf(element) !== -1;
}
이미 메소드가 있음
.includes(element) : 있으면 트루 // 하지만 includes는 index번호를 알 수 없으며 브라우저 호환성이 안좋아서 indexOf를 쓰는게 좋음
새로 안것
for in, for of, foreach // for in은 객체에서, for of는 배열과 문자열, foreach는 배열에서만
--for of--
nums = [1, 2, 3];
for(let i of nums){
console.log(i);
}
결과
1
2
3
--for in--
oo= { a : 1, b :2}
for (let key in oo){
console.log(key) // a b
console.log(oo[key] // 1 2
)
--foreach--
let arr= [1, 2, 3];
arr.forEach(function(element) {
console.log(element);
});
let arr = [1,2,3];
arr.forEach(element => console.log(element));
pop과 같이 원본을 바꾸는 메서드 조심.
a=b하고 a를 바꿔도 b가 바뀌는것도 조심
'코딩 공부 > 코드스테이츠 TIL' 카테고리의 다른 글
Code States 11일차 (0) | 2021.10.21 |
---|---|
Code States 10일차 (0) | 2021.10.20 |
Code States 8일차 (0) | 2021.10.18 |
Code States 7일차 (0) | 2021.10.15 |
Code States 6일차 (0) | 2021.10.14 |