내용이 있는 문자열에 대한 NOT 처리
let str2 = "Hello World";
console.log(!str2);
false
#04. 비교 연산자
두 값간의 크기를 비교하는 식에 대한 참, 거짓을 판별한다.
1) 이상(>=
), 초과(>
), 이하(<=
), 미만(<
)
let x = 100;
let y = 50;
let compare1 = x >= y; // 이상
let compare2 = x > y; // 초과
let compare3 = x <= y; // 이하
let compare4 = x < y; // 미만
console.log(compare1);
console.log(compare2);
console.log(compare3);
console.log(compare4);
true
true
false
false
2) 같다(==, ===), 다르다(!=, !==)
두 값이 같음을 비교
let a1 = 1;
let a2 = 2;
let a3 = 2;
console.log(a1 == a2) // 두 값이 다르므로 결과는 false
console.log(a2 == a3) // 두 값이 같으므로 결과는 true
console.log(a1 === a2) // 두 값이 다르므로 결과는 false
console.log(a2 === a3) // 두 값이 같으므로 결과는 true
false
true
false
true
두 값이 다름을 비교
console.log(a1!=a2);
console.log(a2!=a3);
console.log(a1!==a2);
console.log(a2!==a3);
true
false
true
false
==
와 ===
의 차이
내용을 비교
==
는 값의 내용만을 비교하므로 문자열 "1"
과 숫자 1
을 같다고 판단한다.
console.log(1=="1"); // 숫자 1과 문자열 1을 같다고 판단함
console.log(true==1); // 0이 아닌 모든 수는 true이므로 같다고 판단함.
true
true
데이터 타입까지 비교
===
는 값의 내용 뿐만 아니라 데이터 타입까지 동일해야만 true
로 판단하기 때문에 문자열 "1"과 숫자
1`을 다르다고 판단한다.
자바스크립트의 비교 연산자는
===
,!==
를 더 권장합니다. (브라우저에서 노란색으로 경고창 표시하는거 꼴보기 싫으니까 쓰지 마세요.)
console.log(1=== "1");
console.log(true===1);
console.log(""===0);
console.log(""===false);
false
false
false
false
#05. 논리 연산자
두 개의 논리값(true
혹은 false
)간에 AND(&&
), OR(//
) 연산을 수행한다.
1) AND 연산자
두 개의 연산에 사용되는 모든 값이 true
인 경우만 결과가 true
이고 그 외의 경우는 모든 결과가 false
| && | true
| false
|
|------------|------------|-------------|
| true
| true
| false
|
| false
| false
| false
|
console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);
true
false
false
false
console.log(true && true && true);
console.log(true && true && false);
console.log(false && false && true);
console.log(false && true && true);
true
false
false
false
2) OR 연산자
두 개의 연산에 사용되는 값중에서 하나라도 true
라면 결과가 true
이고 모든 값이 false
인 경우만 결과가 false
| || | true
| false
|
|------------|------------|-------------|
| true
| true
| true
|
| false
| true
| false
|
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
true
true
true
false
console.log(true || true || true);
console.log(true || true || false);
console.log(false || false || true);
console.log(false || true || true);
console.log(false || false || false);
true
true
true
true
false
#06. 삼항 연산자
조건식 ? 참인경우 : 거짓인 경우
의 형태로 세개의 항으로 이루어진 연산자
조건에 따라 반환되는 값이 선택적으로 결정된다
연산 결과를 직접 출력하기
console.log(10>5?"10은 5보다 큽니다." : "10은 5보다 크지 않습니다.");
10은 5보다 큽니다.
연산 결과를 다른 변수에 대입하기
let foo = 123;
let bar = 234;
let conditionValue = foo === bar ? foo+bar : foo-bar;
console.log(conditionValue);
-111
#07. 연산자 우선 순위
| 순위 | 연산자 | 타입 |
|----|----|---|
| 1 | ()
| 괄호로 묶여 있는 수식 |
| 2 | !
, ++
, --
, typeof
| 부정, 증가, 감소, 형식 검사 |
| 3 | *
, /
, %
| 곱셈, 나눗셈, 나머지 |
| 4 | +
, -
| 덧셈, 뺄셈 |
| 5 | <
, <=
, >
, >=
| 크기 비교 |
| 6 | ==
, ===
, !=
, !==
| 같거나 다름을 비교 |
| 7 | &&
| AND |
| 8 | \|\|
| OR |
| 9 | ?:
| 삼항연산자 |
| 10 | =
, +=
, -=
, *=
, /=
, %=
| 할당 |
조건문
#01. if 문
주어진 조건이 참인 경우에만 수행되는 문법적 표현.
if (조건식) {
... 조건이 참인 경우에 수행될 명령들 ...
}
1) 논리값을 사용한 경우
// 일반 구문
console.log("배고픈데");
var have_money = true;
if(have_money){
console.log("식당에서")
}
// 일반 구문
console.log("밥을 먹자");
배고픈데
식당에서
밥을 먹자
2) 숫자형 값을 사용한 경우
숫자형인 경우 0은 거짓, 0이 아닌 모든 수는 참으로 식별한다.
var money = 10000;
//var money = 0;
if(money){
console.log("택시를 타고");
}
console.log("집에 가자");
택시를 타고
집에 가자
3) 비교식을 사용한 조건문
()
안의 식이 참인 경우 {}
안의 구문이 실행된다.
var money = 12000
if(money >= 5000) {
var k = money - 5000;
console.log("선물을 사고" + k + "원 남는다.");
}
선물을 사고7000원 남는다.
4) 논리식을 사용한 조건문
AND(&&
) 연산
모든 값이 TURE인 경우에만 결과가 TRUE
var x = true;
var y = true;
if(x&&y){
console.log("주어진 조건은 참 입니다.");
}
주어진 조건은 참 입니다.
AND(&&
)연산은 하나라도 거짓이 포함되어 있다면 결과가 거짓이므로 아래의 조건문은 실행되지 않는다.
var x = true;
var y = false;
if(x && y){
console.log("주어진 조건은 참 입니다.");
}
OR (||
) 연산
OR( || ) 연산은 하나라도 참이 포함되어 있다면 결과가 참이므로 아래의 조건문은 실행된다.
var x = true;
var y = false;
if(x||y){
console.log("주어진 조건은 참 입니다.");
}
주어진 조건은 참 입니다.
5) NOT(!) 연산
!
연산자는 논리값을 부정한다.
var a = true;
//조건이 거짓이므로 출력되지 않음
if(!a){
console.log("Hello World");
}
var b = false;
//조건이 참이므로 출력됨
if(!b){
console.log("헬로월드");
}
헬로월드
논리식에 대한 NOT 연산
true && false
는 거짓이지만 그 결과를 부정했으므로 결과는 참이 된다.
var x = true;
var y = false;
if(!(x&&y)){
console.log("주어진 조건은 참 입니다.");
}
주어진 조건은 참 입니다.
var x = true;
var y = false;
if(!(x||y)){
console.log("주어진 조건은 참 입니다.");
}
#02. if ~ else 문
그렇지 않으면~~
if문은 조건이 참인 경우에만 수행되고 조건이 거짓인 경우는 수행되지 않는다.
if문 뒤에 else문을 덧붙여 조건이 거짓인 경우에 수행되는 구문을 추가할 수 있다.
else문은 if문 뒤에만 위치할 수 있고 독립적으로는 존재할 수 없다.
var age = 19;
if(age>19){
console.log("성인입니다.");
} else {
console.log("성인이 아닙니다.");
}
성인이 아닙니다.
#03. if ~ else if ~ else 문
여러가지 경우의 수를 나열하는 조건문.
순차적으로 조건을 판별하면서 가장 처음 만나는 참
인 조건의 블록을 수행하고 빠져나간다.
var point = 72;
if(point > 90){
console.log("A학점");
} else if(point > 80){
console.log("B학점");
} else if(point > 70){
console.log("C학점");
} else if(point > 60){
console.log("D학점");
} else{
console.log("F학점");
}
#04. switch 문
1) 기본 구문
하나의 변수나 수식에 대한 여러가지 경우의 수를 나열하는 형식.
조건에 맞는 case
블록부터 break
키워드를 만날 때 까지 실행한다.
var point = "B";
switch(point){
case 'A':
console.log("A학점 입니다.");
break;
case 'B':
console.log("B학점 입니다.");
break;
case 'C':
console.log("C학점 입니다.");
break;
default:
console.log("C학점 미만잡");
break;
}
B학점 입니다.
2) break
가 없는 경우
중단점이 없기 때문에 그 아래 블록까지 함께 실행된다.
var point = "B";
switch(point){
case 'A':
console.log("A학점 입니다.");
case 'B':
console.log("B학점 입니다.");
case 'C':
console.log("C학점 입니다.");
default:
console.log("C학점 미만잡");
}
B학점 입니다.
C학점 입니다.
C학점 미만잡
필요에 따라 의도적으로 break
의 위치를 조절할 수 있다.
var point = "B";
switch(point){
case 'A':
case 'B':
case 'C':
console.log("이 과목을 Pass 했습니다.");
break;
default:
console.log("이 과목을 Pass하지 못했습니다.");
break;
}
이 과목을 Pass 했습니다.
반복문
주어진 조건을 충족하는 동안 {}
안의 구문을 반복적으로 수행
#01. while문
주어진 조건이 참을 충족하는 동안 수행되는 문법
초기식, 조건식, 증감식의 요소를 충족해야 성립된다.
초기식
while (조건식){
... 반복적으로 수행될 구문 ...
증감식
}
var x = 1;//초기식 -> 반복에 사용될 조건값을 지정한다.
while(x<=10){//조건식 -> x가 10보다 작거나 같은 동안 반복수행
var k = "x=" + x; //반복이 진행되는 동안 수행할 명령
console.log(k);
x = x+1; //증감식 -> 조건에 사용되는 값을 변경
}
x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
11
1) 구구단 7단 출력하기
var y = 1; // 초기식
while(y < 10){ // 조건식 -> 10보다 작다이므로 10은 포함되지 않음
var z = 7 * y; // 반복이 진행되는 동안 수행할 명령
var str = "7 x " + y + " = " + z;
console.log(str);
y += 1; // 증감식 -> y가 1씩 증가함
}
2) 반복이 진행되는 동안 결과의 누적합 구하기
누적합을구하기 위해서는 합산에 사용할 변수를 0으로 초기화 해 놓고 반복문 안에서 누적 합산을 수행한다.
1부터 10까지의 총 합 구하기
var x = 1; //초기식
var sum = 0; //총 합을 누적해서 저장할 변수
while(x<=10){ //조건식 -> x가 10보다 작거나 같은 동안 반복 수행
sum+=x;
console.log("x=" + x + ", sum="+sum);
x++;
}
x=1, sum=1
x=2, sum=3
x=3, sum=6
x=4, sum=10
x=5, sum=15
x=6, sum=21
x=7, sum=28
x=8, sum=36
x=9, sum=45
x=10, sum=55
10
3) 값의 변화단계 조절하기
0부터 100전(=99)까지 10씩 증가
var a = 0; //초기식
while(a<100){ //조건식
var k = "a=" + a;
console.log(k);
a += 10; //증감식
}
a=0
a=10
a=20
a=30
a=40
a=50
a=60
a=70
a=80
a=90
100
10부터 0전(=1)까지 2씩 감소
var b = 10;
while(b>0){
var k = "b=" + b;
console.log(k);
b -= 2;
}
b=10
b=8
b=6
b=4
b=2
0
#02. For 문
초기식, 조건식, 증감식이 하나의 괄호 ()
안에 모두 명시되는 형태.
for(초기식; 조건식; 증감식){
...
}
실행 순서
초기식을 실행한다.
조건식을 판별한다.
조건식이 참인 경우
{}
안을 1회 실행하고 증감식으로 이동한다.- 증감식을 실행한 후 다시 조건식으로 이동한다.
조건식이 거짓인 경우
{}
블록을 실행하지 않고 빠져나간다.
for(var x = 1; x<=10;x++){
var k = "x=" + x;
console.log(k);
}
x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
1) 구구단 7단 출력하기
1부터 9까지 1씩 증가하면서 수행함
2) 반복이 진행되는 동안 결과의 누적
1부터 10까지의 총 합 구하기
반복이 시작되기 전에 값이 누적될 변수를 미리 준비해놓는다.
3) 값의 변화 단계 조절하기
0부터 99까지 10씩 증가하는 범위 안에서의 반복 수행
10부터 1까지 2씩 감소하는 범위 안에서의 반복 수행
#03. 반복문 안에서의 흐름 제어
반복을 몇 번 수행해야 하는지 판단할 수 없는 경우 무한루프 형태로 지정하고 특정 조건이 충족되는지에 따라 반복의 중단 여부를 결정하낟.
반복문의 흐름제어 기능을 갖는 키워드
next : 조건식으로 강제 이동
break : 현재 반복문을 강제로 종료하고 블록을 빠져 나간다.
1) while문을 사용한 무한루프 패턴
var y = 0 ;
while(true){
var y = y+1;
if(y%2 === 0){
continue;
}
if(y>10){
break;
}
console.log("Hello World :: " + y);
}
Hello World :: 1
Hello World :: 3
Hello World :: 5
Hello World :: 7
Hello World :: 9
2) for문을 사용한 무한루프 패턴
continue
, break
키워드는 while문과 for문에서 모두 동일하게 동작한다.
배열
#01. 1차 배열
하나의 변수에 여러 개의 데이터를 그룹화 한 형태
1) 배열 만들기 (1)
배열의 선언
Javascript는 변수의 특성이 값이 할당 될 때 결정되기 때문에 선언은 일반 변수와 동일하다.
즉, 할당하기 전까지는 숫자, 문자열, 배열 등의 구분이 없다.
var myArr;
배열의 할당
대괄호([]
)안에 포함할 값들을 데이터 타입의 구분 없이 콤마(,
)로 구분하여 나열한다.
myArr = [1, 2, 3.14, true, false, "hello", "world"];
console.log(myArr);
[ 1, 2, 3.14, true, false, 'hello', 'world' ]
2) 배열 만들기 (2)
Array 클래스를 사용한 할당
new Array(...)
형식으로 생성한다.
여기서 말하는
new
키워드를 사용하여 생성할 때 Array는 클래스에 해당합니다. Javascript에서의 객체와 클래스의 개념은 뒤에서 별도의 단원을 통해 다루도록 합니다.
var newArr1 = new Array("hello", "world", 1,2,3, true, false);
console.log(newArr1);
[ 'hello', 'world', 1, 2, 3, true, false ]
Array 클래스 사용시 주의할 점
new Array()
로 배열을 생성할 때 ()
안에 숫자 값 하나만 명시되는 경우, 숫자 값 만큼의 빈 칸을 갖는 배열이 생성된다.
배열의 각 칸은 모두 정의되지 않은 값(undefined)로 할당된다.
// 5라는 값을 원소로 갖는 한 칸으로 구성된 배열 만들기
var newArr2 = [5];
console.log(newArr2);
// 값이 존재하지 않는 5개의 빈 칸을 갖는 배열 만들기
var newArr3 = new Array(5);
console.log(newArr3)
[ 5 ]
[ <5 empty items> ]
배열의 원소에 접근하기
인덱스 번호를 통한 원소값 접근
배열의 각 원소는 0부터 시작하는 일련번호를 부여 받는데, 이를 배열의 인덱스 라고 한다.
var myArr = [1,2,3.14, true, false, "hello", "world"];
console.log(myArr[0]);
console.log(myArr[2]);
console.log(myArr[4]);
console.log(myArr[6]);
1
3.14
false
world
존재하지 않는 인덱스를 통한 접근
100번째 원소의 값을 출력하고자 할 경우 100번째 원소는 정의되어 있지 않으므로 undefined가 된다.
var item = myArr[100];
console.log(item);
if(item !== undefined){
console.log("100번째 원소 존재함");
}else{
console.log("100번째 원소 존재하지 않음");
}
undefined
100번째 원소 존재하지 않음
4) 배열의 크기
배열이름.length는 배열의 칸 수를 반환한다.
배열의 인덱스는 항상
0
부터크기-1
까지 1씩 증가하면서 존재한다.
var myArr = [1,2,3.14];
console.log(myArr.length);
3
5) 반복문을 통한 활용
인덱스가 0
부터 크기-1
까지 1씩 증가한다는 특성을 활용하여 for문과 함께 사용하면 배열의 모든 원소에 대한 일괄 처리가 가능하다.
// 5칸으로 구성된 빈 배열 생성
var myArr = new Array(5);
for(var i = 0 ; i < myArr.length; i++){
myArr[i]= i*10;
}
console.log(myArr);
[ 0, 10, 20, 30, 40 ]
배열의 원소에 대한 총 합 구하기
var data = [ 10, 20, 30, 40, 50 ];
var sum = 0;
for(var i = 0 ; i < data.length; i++){
sum += data[i];
}
console.log(sum);
150
배열의 원소 중에서 가장 큰 값 구하기
var data = [5,2,7,9,2];
var max = 0;
for(var i = 0 ; i<data.length; i++){
console.log("max=" + max + ", data[" + i + "]=" + data[i]);
if(data[i]>max){
max = data[i];
console.log(">> max에 "+ max+"를 복사");
}
}
console.log("-------");
console.log("최대값 = " + max);
max=0, data[0]=5
>> max에 5를 복사
max=5, data[1]=2
max=5, data[2]=7
>> max에 7를 복사
max=7, data[3]=9
>> max에 9를 복사
max=9, data[4]=2
-------
최대값 = 9
배열의 순서를 뒤집기
반복 회수를 구하기 위한 연산
원소가 5개일 경우 반복 회수 : 2회
5/2를 연산한다. 나머지는 버리게 되므로 2가 된다.
원소가 6개일 경우 반복 회수 : 3회
6/2를 연산한다. 즉 배열의 길이/2를 구한다.
i번째 원소와 맞교환 하기 위한 반대쪽 원소의 인덱스
배열의 길이 -i -1;
var data = [1,5,2,4,3];
console.log(data);
for(var i = 0 ; i<data.length/2 ; i++ ){
var k = data.length-i-1;
var temp=data[i];
data[i]=data[k];
data[k]=temp;
//i번째 원소와 k번째 원소 교환
}
console.log(data);
[ 1, 5, 2, 4, 3 ]
[ 3, 4, 2, 5, 1 ]
#02. 2차 배열
열의 개념만 존재하는 1차 배열에 행의 개념을 추가한 형태가 2차 배열이다.
좀 더 정확한 개념은 1차 배열의 각 원소가 다른 배열로 구성된 형태라고 보는 것이 맞다.
1) 2차 배열 생성하기
배열의 원소로 다른 배열 포함하기
var a = [1,2,3];
var b = [4,5,6];
var myArr = [a,b];
console.log(myArr);
[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
축약 표현
[]
를 사용하여 1차원을 표현하고 그 안에 다시 []
를 콤마로 구분하여 2차원을 구성한다.
var myArr = [ [1,2,3], [4,5,6] ];
console.log(myArr);
[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
2) 2차 배열의 원소에 접근하기
2행 3열인 경우 행의 인덱스는 0부터 1까지, 열의 인덱스는 0부터 2까지 존재한다.
배열에 저장된 원소에 접근하기 위해서는 변수이름 뒤에 행, 열의 순서로 인덱스를 명시한다.
배열 원소 변경하기
| | 0번째 열 | 1번째 열 | 2번째 열 |
|--|--|--|--|
| 0번째 행 | (0,0) = 10 | (0,1) = 20 | (0,2) = 30 |
| 1번째 행 | (1,0) = 40 | (1,1) = 50 | (1,2) = 60 |
myArr[0][0] = 10; //0행 0열
myArr[0][1] = 20; //0행 1열
myArr[0][2] = 30; //0행 2열
myArr[1][0] = 40; //1행 0열
myArr[1][1] = 50; //1행 1열
myArr[1][2] = 60; //1행 2열
console.log(myArr);
[ [ 10, 20, 30 ], [ 40, 50, 60 ] ]
배열 원소 개별 출력
console.log(myArr[0][0]);
console.log(myArr[0][1]);
console.log(myArr[0][2]);
console.log(myArr[1][0]);
console.log(myArr[1][1]);
console.log(myArr[1][2]);
10
20
30
40
50
60
3) Array 클래스를 사용한 2차 배열 생성
배열의 원소로 다른 배열 포함하기
1차 배열의 각 원소에 또 다른 배열이 포함되는 형식으로 구성한다.
var a = new Array(1,2,3);
var b = new Array(4,5,6);
var data = new Array(a,b);
console.log(data);
[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
축약표현
var data = new Array( new Array(1,2,3), new Array(4,5,6));
console.log(data);
[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
4) 가변배열
2차 배열의 정확한 개념은 1차 배열의 각 원소가 다른 배열로 구성된 형태이다. 원소로서 포함되는 각 배열의 크기가 동일하지 않은 경우를 가변 배열이라고 한다.
항상 배열의 모든 행이 동일한 열로 구성되는 것은 아니다. (모든 줄의 칸 수가 같다는 보장은 없다는 의미)
가변배열이 자주 등장하는 것은 아니다. 95% 이상의 경우가 모든 행마다 열 크기가 동일한 경우이다.
var a = [1,3,5,7,9];
var b = [2,4,6];
var data = [a,b];
console.log(data);
[ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6 ] ]
var data = [[1,3,5,7,9], [2,4,6]];
console.log(data);
[ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6 ] ]
5) 2차 배열의 행, 열 크기 구하기
행의 크기
2차 배열에 대한 길이를 직접 구하면 행의 크기를 알 수 있다.
var rowSize = data.length;
console.log(rowSize);
2
열의 크기
2차 배열의 모든 행에 대한 열 크기가 항상 동일하다는 보장이 없기 때문에 열의 크기는 각 행마다 개별적으로 구해야 한다.
var colSize0 = data[0].length;
var colSize1 = data[1].length;
console.log(colSize0);
console.log(colSize1);
5
3
6) 2차 배열과 반복문
배열의 모든 원소 스캔하기
2차 배열의 모든 원소를 반복문으로 스캔하기 위해서는 중첩 반복문을 사용해야 한다.
이 때 부모 반복문은 행에 대해 관여하고, 자식 반복문은 열에 대해 관여한다.
var twoArray = [ [1,2], [10, 20, 30, 40]];
for (var i=0; i<twoArray.length; i++){
console.log(i + "번째 행 ---------");
for(var j=0; j<twoArray[i].length; j++){
console.log(" :::: " + j + "번째 열 >> " + twoArray[i][j]);
}
}
0번째 행 ---------
:::: 0번째 열 >> 1
:::: 1번째 열 >> 2
1번째 행 ---------
:::: 0번째 열 >> 10
:::: 1번째 열 >> 20
:::: 2번째 열 >> 30
:::: 3번째 열 >> 40
7) 예제
성적 구하기
아래의 성적표를 보고 학생 이름을 1차 배열로, 학생들의 점수를 2차 배열로 표현한 뒤 각 학생별로 총점과 평균을 구해 출력하시오.
|| 국어 | 영어 | 수학 |
|------|------|------|-------|
| 철수 | 92 | 81 | 76 |
| 영희 | 72 | 95 | 84 |
| 민혁 | 80 | 86 | 98 |
var grade = [
["철수",92,81,76],
["영희",72,95,84],
["민혁", 80,86,98],
];
var total;
for(i = 0 ; i<grade.length ; i++){
total = 0;
for(j = 1; j < grade[i].length;j++){
total+=grade[i][j];
}
console.log(grade[i][0] + "의 총점 : " + total);
console.log(grade[i][0] + "의 평균 : " + total/3);
}
철수의 총점 : 249
철수의 평균 : 83
영희의 총점 : 251
영희의 평균 : 83.66666666666667
민혁의 총점 : 264
민혁의 평균 : 88
순차적으로 증가하는 값 할당하기
5행 7열로 구성된 2차 배열을 준비하고 배열의 모든 칸에 1부터 순차적으로 증가하는 값을 대입하세요.
var myArr = new Array(5);
for(var i = 0 ; i < myArr.length ; i++){
myArr[i]= new Array(7)
}
var cnt = 1;
for(var i = 0 ; i< myArr.length; i++){
for(var j = 0 ; j<myArr[i].length;j++){
myArr[i][j] = cnt++;
}
}
console.log(myArr);
[
[
1, 2, 3, 4,
5, 6, 7
],
[
8, 9, 10, 11,
12, 13, 14
],
[
15, 16, 17, 18,
19, 20, 21
],
[
22, 23, 24, 25,
26, 27, 28
],
[
29, 30, 31, 32,
33, 34, 35
]
]
'개발(차근차근 기초) > Javascript' 카테고리의 다른 글
[Javascript, jQuery] "$" 객체의 사용 (0) | 2020.03.16 |
---|---|
[Javascript, Sublime Text] javascript를 위한 Build System 설정하기 (0) | 2020.03.16 |
[Javascript, jQuery] 기본 동작 중단 시키기 (0) | 2020.03.16 |
[Javascript] 자바스크립트 기초(1) (0) | 2020.03.16 |
[Javascript] JSON (0) | 2020.03.16 |