티스토리 뷰
nodejs 콘솔 입력 템플릿
const readline = require('readline');
const rl = readline.createInterface(process.stdin, process.stdout);
let input = [];
let eval = () => {
// Code
}
rl.on('line', function(line){
input.push(line);
}).on('close', eval);
2차원 배열 만들기
let arr = Array.from(Array(5), () => Array(2).fill(0))
0으로 초기화한 n*m 사이즈 배열
let arr = (new Array(n)).fill(0)
0으로 초기화한 길이가 n인 1차원 배열
배열 복사 (deep copy)
//(1)
let copy = arr.slice();
//(2)
let copy = [...arr];
한줄로 간단하게 복사하는 방법.
for in / for of
let arr = [3,2,7];
let obj = {name:"James", age:23, job:'student'};
//배열
for(var key in arr){
console.log(key, ":", arr[key]);
}
for(var value of arr){
console.log(value);
}
//객체
for(var key in obj){
console.log(key, ":", obj[key]);
}
for(var value of obj){ //error!! obj is not iterable
console.log(value);
}
for ([key,value] of Object.entries(obj)){
console.log(key,value);
}
for in : key (배열 인덱스나 객체 프로퍼티)로 순회
for of : iterable object의 value 값으로 순회
일반 객체는 안된다 (not iterable)
Object.entries(obj) 함수 적용해서 2차원 배열로 변경
전개구문
let a = [1,2,3];
let b = [3,4, ...a]; //[3,4,1,2,3]
...arr => arr 에 있는 원소 하나씩 나열된 것
파이썬 문자열 곱하기랑 같은 기능
"abc".repeat(3); //"abcabcabc"
slice (원본 변화 X) vs splice (원본변화 O)
구분자도 포함해서 split 하기
구분자가 괄호 ( ) 를 포함하는 정규표현식일 경우 구분자도 포함한 split 결과물을 리턴한다.
"100-200*300-500+20".split(/([*+-])/g)
'시리즈 > Javascript' 카테고리의 다른 글
정규표현식 예제 (0) | 2021.02.20 |
---|---|
Map and Set (0) | 2021.02.20 |
String.prototype.replace() 함수 (0) | 2021.01.22 |
javascript 콘솔 입출력 (0) | 2021.01.21 |
[queue] javascript 효율적인 큐 (0) | 2021.01.13 |
댓글
공지사항
최근에 올라온 글