11. 19 배열

홍왕열·2021년 11월 19일
0

배열

배열이란?
순서가 있는 값.

여기서 순서는 index
값은 element(요소) 라고 부른다

항상 대괄호로!!! (Square bracket)
myNumber[3] // 61 - myNumber 변수 안에 있는 3번째 값
myNumber[3] = 200 - myNumber 변수 안에 있는 3번째 값을 200으로 바꾼다.

myNumber[5] ?? // undefined 즉, 값이 없는 것은 undifined로 분류!

2차원배열


myNumber[1][0]; - myNumberdml 1번째 index 값의 0번째 index 값!

Method

Let myNumber = [73, 98, 36, 61]

myNumber.slice(start, end) - start부터 end까지 잘라서 보여준다.
하지만 end는 미포함
immutability.
즉, 원본이 수정되지는 않고 얕게 복사본을 보여준다.
unshift 및 pop, push 등과 다른 점.
end는 항상 그 부분은 제외됨

myNumber.push(96); = 배열 마지막에 96을 추가한다. 즉 [73, 98, 36, 61, 96]으로 변함.


////스크린샷 : MDN 사이트/////

myNumber.pop() = 배열 맨 마지막을 삭제한다. 즉 [73, 98, 36]으로 변함
테스트를 해보니 그냥 return을 할 경우 없어진, 즉 위에서는 '61'을 return함. 만약 그것을 제외한 나머지 값을 원한다면 원본에서 이미 '61'을 빼서 원본이 변해있으니 다시 return Number를 해야한다.!!

myNumber.shift() = 배열 맨 처음을 삭제한다. 즉 [98, 36, 61]로 변경

myNumber.unshift(80); = 배열 맨 처음부분에 추가한다. 즉 [80, 73, 98, 36, 61]

myNumber.unshift()를 그대로 return 하면 앞부분에 추가된 것의 개수를 불러온다. 즉, 원본을 변하게 하는 Method이므로 원본에서 이미 바뀌어 있으니 추가된 배열을 불러오고 싶으면 arr을 다시 return하는 것이 핵심!


////스크린샷 : MDN 사이트/////

.splice (start, deleteCount, item) : 기존 요소를 제거하거나
새 요소를 추가하여 기존 배열의 내용을 변경한다

하나도 제거하지 않고, 2번 인덱스에 "drum" 추가
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');

// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed

0번 인덱스에서 두 개 요소 제거하고 "parrot", "anemone", "blue" 추가
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');

// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed is ["angel", "clown"]

3번 인덱스에서 한 개 요소 제거
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);

// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]

unshift는 원본 배열을 변화시키기 때문에 myNumber를 리턴하면 unshift로 element 가 추가된 배열이 리턴된다.

myNumber.push() = 배열 맨 마지막에 추가한다.
이것도 원본을 변화시키기 때문에 myNumber를 return 해야 한다!

전부 배열 형태로 리턴한다!!

배열과 배열을 하는 것이 아니고 배열과 요소를 합치는 것

str1.concat(str2, str3)
str1 배열에 str2와 str3 배열을 합친다.

위 unshift 및 push와 다른 점은 개수를 말하는 게 아니고 바로 붙이는 것이기 때문에 return이 바로 가능한 것으로 이해됨

////스크린샷 : MDN 사이트/////

Array.isArray(검사할 객체); = 배열인지 아닌지 Boolean 타입으로 답을 알려준다.

객체

Dot natation = .으로 불러오는 것.

선언한 것만 불러올 수 있고 변수는 불러올 수 없다!!
또한 suer.firstName에서 볼 수 있듯이 ''를 붙이지 않는다.

Bracket notation = []로 불러오는 것

변수를 불러올 수 있다.
user['firstName']에서 볼 수 있듯이 '를 붙여줘야한다.
변수에 ''로 할당값이 있는 것은 그대로 불러오는 것 주의!!

오늘 새로 배운 것들

반복문

for...of 와 for...in에 대해서 다시 한 번 알아보자..
무슨 말인지 도통 모르겠다

////스크린샷 : MDN 사이트/////

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var arr1 = arr.slice(4); // [5, 6, 7, 8, 9, 10]

var arr2 = arr.slice(undefined); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

arr1 : index번호 4부터 끝까지 추출
arr2 : 처음부터 끝까지 추출함

출처: https://im-developer.tistory.com/103 [Code Playground]

일요일은 결혼기념일!!

오늘 저녁에 강릉으로 출발한다.

주말 내내 공부를 못할 것 같아서 무섭기도 하고 아쉽기도 하지만 잠시 쉬어간다는 생각으로 일요일날 일찍 와서 해야겠다.

내가 노는 동안 남들은 앞으로 달려가고 있을 텐데.. 너무 걱정은 하지말자. 나도 누구보다 열심히 잘하고 있다.

멘탈 잡고 누구보다 열심히 달려가자!!

profile
코딩 일기장

0개의 댓글