Codestates SEB FE 42기/회고

S1 unit9 회고 | 배열과 객체

2realzoo 2022. 11. 9. 09:34

📌 배열

: 순서가 있는 값

  • [] 로 감싸져 있음
  • index가 존재함, length 속성이 있음
  • typeof array // object

배열 메서드

  • array.push : 배열의 맨 뒤에 요소를 추가
  • array.pop : 배열의 맨 뒷 요소를 삭제
  • array.unshift : 배열의 맨 앞에 요소를 추가
  • array.shift : 배열의 맨 앞 요소를 삭제추가하는 메서드(push, unshift)는 추가된 length를 리턴하고
    삭제하는 메서드(pop, shift)는 제거된 요소를 리턴한다.
  • Array.isArray(attribute) : attribute가 배열인지 아닌지 boolean 값을 리턴
  • array.slice(start, end) : start에서부터 end 전까지 복사한 배열을 리턴
let arr = [1, 2, 3, 4];
arr.slice(-3, -1); //  [2, 3]
  • array.concat(attribute) : array에 attribute를 순서대로 추가함
    이때 attribute는 배열이 될 수도 있음
  • array.splice(start, 제거할 요소의 개수, 추가할 요소) : start에서부터 제거할 요소 개수를 삭제한 배열을 리턴. 추가할 요소가 있다면 삭제한 자리에 추가.
    mutable 하므로 배열자체를 바꿈
  • array.indexOf(attribute) : attribute가 배열 안에 있다면 첫번째 인덱스 번호를 반환함. 없으면 -1을 반환
  • array.includes(attribute) : attribute가 배열 안에 있는지 boolean 값으로 리턴

📌for of

: 배열, 문자열 등의 반복가능한 객체에서 요소를 기준으로 반복

let arr = [0, 1, 2, 3]
for(let el in arr) {
  console.log(el)
		};
// 0
// 1
// 2
// 3

📌 객체

: 순서, 키, 값이 있음
: {} 로 감싸져 있음

let myCat = {
  name : '샤샤',
  age : '11',
  friend : '쪼맹이'
			};

📌 객체에서 값 꺼내기

dot notation

myCat.name; // '샤샤'

Braket notation

myCat['name']; // '샤샤' 
let name = 'name';
myCat[name]; // '샤샤'

정의되지 않은 변수 : ['']
정의된 변수 : []

변수를 넣을 때 사용

📌 키 값 추가, 변경

dot notation

myCat.toy = ['오뎅꼬치', '카샤카샤', '쥐인형'];
console.log(myCat)

// { name : '샤샤', age : '11',friend : '쪼맹이', toy: array(3)};

Braket notation
: 키 toy의 값을 변경

myCat['toy'] = '쪼맹이'; 
console.log(myCat)

//// { name : '샤샤', age : '11',friend : '쪼맹이', toy: '쪼맹이'};

📌 키 값 삭제

delete myCat.toy; 
console.log(myCat)

//{ name : '샤샤', age : '11',friend : '쪼맹이'}

Braket notation을 뒤에 사용해도 됨.

📌 in 연산자

: 특정 키가 객체 안에 있는지 확인

'age' in myCat;
//true

boolean 값 리턴

📌Object.keys

: iterable한 객체의 키만 꺼내어 새 배열로 리턴한다.

📌 for in

: 객체에서 키 개수만큼 반복하여 키를 기준으로 리턴

for(let prop in myCat) {
  console.log(prop)
		};
// name
// age
// friend