우아한 테크코스를 지원하여 프리코스 1주차 문제를 푼다.
우테코 합격하면 좋겠지만 프리코스 만으로도 한 달간 자바스크립트를 다질 수 있는 좋은 기회라고 생각되어 배운 것들을 정리하려고 한다.
자바 스크립트의 배열은 다른 언어의 배열과는 의미가 좀 다르다.
보통 배열은일정한 크기
의 공간이연속적
으로 존재하는것이 배열이지만
자바스크립트는 크기도 다를 수 있고 순서도 연속적으로 존재하지 않을 수 있다. 이를희소 배열
이라고 한다. 자바스크립트 배열은 배열의 형태를 흉내낸 특수한 객체이다.
const arr = [1,2,3,4,5];
for ([초기문]; [조건문]; [증감문]) {
반복문 내부
}
for (var i = 0; i < selectObject.options.length; i++) {
if (selectObject.options[i].selected) {
numberSelected++;
}
}
for (변수 of 순회할 객체){
실행문
}
// Convert a number to a string:
let num = 15;
let text = num.toString();
//Convert a number to a string, using base 2 (binary):
let num = 15;
let text = num.toString(2);
Number('123'); // 숫자 123을 반환
Number('123') === 123; // 참
Number('unicorn'); // NaN
Number(undefined); // NaN
배열
추가
: Array.push(), Array.unshift(), Array.splice()
배열삭제
: Array.pop(), Array.shift(), Array.splice()
var arr = ['a', 'b', 'c'];
// arr = ['a', 'b', 'c', 'd']
arr.push('d'); // 배열의 끝에 요소를 추가
var arr = ['a', 'b', 'c'];
// arr = ['d', 'a', 'b', 'c']
arr.unshift('d'); // 배열의 앞쪽에 요소를 추가
var arr = ['a', 'b', 'c'];
// arr = ['a', 'b', 'd', 'c']
arr.splice(2, 0, 'd'); // index 2 ('c')의 위치에 요소를 추가
// arr = ['a', 'b', 'd', 'c', 'e', 'f']
arr.splice(4, 0, 'e', 'f'); // index 4의 위치에 2개의 요소를 추가
var arr = ['a', 'b', 'c', 'e', 'f'];
// arr = ['a', 'b', 'c', 'e']
arr.pop(); // 배열의 마지막 요소를 제거
// arr = ['a', 'b', 'c']
var popped = arr.pop(); // 제거한 요소를 반환 받을 수 있음
// popped = 'e'
var arr = ['a', 'b', 'c', 'e', 'f'];
// arr = ['b', 'c', 'e', 'f']
arr.shift(); // 배열의 첫번째 요소를 제거
// arr = ['c', 'e', 'f']
var shifted = arr.shift(); // 제거한 요소를 반환 받을 수 있음
// shifted = 'b'
var arr = ['a', 'b', 'c', 'e', 'f'];
// arr = ['a', 'b', 'e', 'f']
arr.splice(2, 1); // index 2 부터 1개의 요소('c')를 제거
// arr = ['a', 'f']
arr.splice(1, 2); // index 1 부터 2개의 요소('b', 'e')를 제거
// arr = ['a']
removed = arr.splice(1, 1); // 제거한 요소를 반환 받을 수 있음
// removed = 'f'
console.log(Math.max(1, 3, 2));
// expected output: 3
console.log(Math.max(-1, -3, -2));
// expected output: -1
const array1 = [1, 3, 2];
console.log(Math.max(...array1));
// expected output: 3