5월25일(화) 배열과 객체

4954 단어 TILTIL

배열

순서(index)가 있는 값(요소,element).

ex)
let number [73, 98, 86, 61, 96];
[] = 대괄호(Square braket)
73 = 원소(Element)
, 쉼표(comma) 원소 구분

값은 index를 이용해 접근 (접근 방법)

ex)
let number [73, 98, 86, 61, 96];
myNumber[3]; // 61
myNumber[3] = 200; // 61에서 200으로 변경

이차원 배열

ex)
let myNumber = [[13, 30], [73, 8], [44, 17]];
myNumber[1] // [73, 8]
mynumber[1],[0] // 73

배열이 할 수 있는 것들

1. 길이

ex)
let number [73, 98, 86, 61];
=> myNumber.length; // 4
온점(dot)을 이용하여 변수가 가지고 있는 속성(property)에 접급 할 수 있다.

  • push, pop

2. 추가
push - 배열의 끝에 값을 추가

ex)
let number [73, 98, 86, 61];
myNumber.push(96); // [73, 98, 86, 61, 96] 배열 맨뒤에 96 추가
온점(dot)을 이용해서 관련된 명령(method) 함수를 실행하듯이 ()를 사용
(push가 함수여서 ()를 사용)

3. 삭제
pop - 배열의 끝에 값을 삭제

ex) myNumber.pop();

배열 + 반복문

ex)

let myNum = [10, 20, 40,10];
let sum = 0;
for (let n=0; n < myNum.length; n++) {
sum = sum + myNum[n];
}

추가적으로 for in/ for of문에 대하여 복습

배열인지 아닌지 확인

Array.isArray()

ex)
let words = [눈, 코, 입]
Array.isArray(words) // true
Array.isArray([1, 2, 3]) // true
Array.isArray([]) // true

input은 검사하고 싶은 객체, 결과는 true or false.

배열 요소 추가 및 삭제

뒷부분 추가 / .push('')
뒷부분 삭제 / .pop('')

앞부분 추가 / .unshift('')
앞부분 삭제 / .shift('')

배열 요소 조합 여부 확인하기

ex)
let words = ['home', 'in', 'alone']
=>words.indexOf('the') // 1
=>words.indexOf(나홀로집에) // -1 // 없는것에 대한 결과는 -1로 표시됨
=>words.indexOf('alone') !==-1 // !==-1(없지 않다면) 존재 여부 확인 // true or false로 표현

추가주의 ! Element는 대소문자 구분을 해주어야 한다.

코플린 문제 풀이 후 추가적으로 복습해야 할 것들
for in / for of 문
.split()
.slice()
.concat()
.push() .pop() .shift() .unshift() - 원본배열을 변화시킴에 대한 이해가 필요

객체(Object)

하나의 변수안에 여러가지 정보가 담겨져 있을때 쓰기 매우 유용함

ex)

let user = {
firstName : 'Steve',
lastName : 'Lee',
email: '[email protected]',
city : 'Seoul'
};

=>firstName, lastName, email, city는 키(key)
=>'Steve', 'lee', '[email protected]', 'Seoul'은 값(value)
=> : 은 키, 값 사이는 콜론(:)으로 구분

  • 객체는 키와 값 쌍(key-value pair)으로 이루어짐
  • 중괄호(curly bracket)를 이용해서 객체를 만듦
  • 키-값 쌍(key-value pair)은 쉼표(comma)로 구분

객체의 값을 사용하는 방법

1. Dot notation

ex)

let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city : 'Seoul'
};

user.firstName; // 'Steve'
user.city; // 'Seoul'

2. Bracket notation

ex)

let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city : 'Seoul'
};

user['firstName']; // 'Steve'
user['city']; // 'Seoul'
주의 ! key[그냥 넣으면] 대괄호 안의 값은 변수로 취급 됨

  • Dot/Bracket notation을 통하여 값을 추가할 수 있다.

ex)

let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
content: '굿굿'
};

tweet['category'] = '잡담'; // braket notation
tweet.isPublic = true; // dot notation
tweet.tags = ['#자바스크립트', '#프리코스']; // dot notation

let teeet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
content: '굿굿'
category: '잡담'
isPublic: 'true'
tags: ['#자바스크립트', '#프리코스']
};```
  • delete 키워드를 이용해 삭제가 가능

ex)

let teeet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
content: '굿굿'
};

delete tweet.createdAt;

  • in 연산자를 이용해 해당하는 키가 있는지 확인할 수 있다.

ex)

let teeet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
content: '굿굿'
};

'content' in tweet; // true
'updatedAt' in tweet; // false

좋은 웹페이지 즐겨찾기