순서(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)에 접급 할 수 있다.
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() - 원본배열을 변화시킴에 대한 이해가 필요
하나의 변수안에 여러가지 정보가 담겨져 있을때 쓰기 매우 유용함
ex)
let user = { firstName : 'Steve', lastName : 'Lee', email: 'steve@Gmail.com', city : 'Seoul' };
=>firstName, lastName, email, city는 키(key)
=>'Steve', 'lee', 'steve@gmail.com', 'Seoul'은 값(value)
=> : 은 키, 값 사이는 콜론(:)으로 구분
ex)
let user = { firstName: 'Steve', lastName: 'Lee', email: 'steve@Gmail.com', city : 'Seoul' };
user.firstName; // 'Steve'
user.city; // 'Seoul'
ex)
let user = { firstName: 'Steve', lastName: 'Lee', email: 'steve@Gmail.com', city : 'Seoul' };
user['firstName']; // 'Steve'
user['city']; // 'Seoul'
주의 ! key[그냥 넣으면] 대괄호 안의 값은 변수로 취급 됨
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: ['#자바스크립트', '#프리코스'] };```
ex)
let teeet = { writer: 'stevelee', createdAt: '2019-09-10 12:03:33', content: '굿굿' };
delete tweet.createdAt;
ex)
let teeet = { writer: 'stevelee', createdAt: '2019-09-10 12:03:33', content: '굿굿' };
'content' in tweet; // true
'updatedAt' in tweet; // false