코딩 공부/코드스테이츠 TIL

Code States 9일차

fullfish 2021. 10. 19. 23:23

오늘의 키포인트

배열


나의 이해

배열 : 대량의 데이터를 처리 및 관리하기 위해


문법 및 중요

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