JS의 객체를 저장하는 변수는 객체의 주소를 참조한다. Object.assign({}, target) 명령어는 새로운 객체를 만들고 원본 객체의 열거 가능한 속성을 복사한다. spread 연산자 ...도 마찬가지! const origin = { id: 0, name: 'injuk', age: '1', }; // 참조를 복사하므로 두 객체는 같다. const obj1 = origin; check(obj1); // 새로운 빈 객체를 만들고 원본의 속성을 복사하므로 두 객체는 다르다. const obj2 = Object.assign({}, origin); check(obj2); // 새로운 객체를 만들고, 원본 객체에 새로운 객체의 속성을 복사하므로 두 객체는 같다. const obj3 = Object.ass..
[변수] instanceof Function을 활용하여 체크한다. typeof [변수] === 'function'도 사용할 수 있다. 사용 예시 function callFunctions(init, ...functions) { return functions.reduce((acc, func) => { if(func instanceof Function) return func(acc); else throw new Error(`${func} is not Function`); }, init); } try { const result = callFunctions( 1, value => value *= 100, value => value += 2, // 3, value => value -= 22, console.log,..
[BaekJoon] 2309 일곱난쟁이 (node.js) 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 ingnoh.tistory.com 요 문제를 보다가 기본적인 for문을 통해 배열을 순회하고 있는 것을 보고 의문이 들었다. 기본적인 for문과 forEach, for in문에서 가능한 것처럼 for of문에서도 배열 인덱스를 사용할 수 있지 않을까? 결론부터 말하자면 Array.prototype.keys()나 entries()를 활용하는 방법이 있었다. 이 글은 다음과 같은 사람에게 도움이 될 것으로 보인다. 기본적인 for 문의 문법이 너무 어려워 ..
Promise.allSettled() - JavaScript | MDN Promise.allSettled() 메서드는 주어진 모든 프로미스를 이행하거나 거부한 후, 각 프로미스에 대한 결과를 나타내는 객체 배열을 반환합니다. developer.mozilla.org // 1. const promises = [ // some promises... ]; // 2. const responses = await Promise.allSettled(promises); // 3. let results = []; for(const { status, value = undefined } of responses) { if(status === 'fulfilled') results.push(value); } Promise들을 포함..
const before = [1, 2, 3, 0, false, true, undefined, null, {}]; console.log(`before: ${before} and length is ${before.length}`); function removeFalsy(elements = []) { return elements.filter(elem => elem); } const after = removeFalsy(before); console.log(`after: ${after} and length is ${after.length}`); /* 실행 결과 before: 1,2,3,0,false,true,,,[object Object] and length is 9 after: 1,2,3,true,[object..
어쩌다가 오브젝트의 key를 모아둔 배열과 values를 모아둔 배열을 합쳐야한다고 할 때, 다음과 같이 해볼 수 있다. const keys = ['k1', 'k2']; const values = ['injuk', 'ingnoh']; const result = keys.reduce((acc, curr, idx) => { acc[curr] = values[idx]; return acc; }, new Object); console.log(result); /* 실행 결과 { k1: 'injuk', k2: 'ingnoh' } */ 또는 object에 [key]로 새로운 값을 추가할 수 있는 점을 이용하여 다음과 같이 사용해볼 수도 있다고 함. 요 방법은 링크에서 oneline으로 처리하는 내용을 볼 수 있다. ..
자바스크립트 array 를 object, Map 으로 변환하기 코틀린을 쓰다보면 associate 메소드를 이용하여 리스트를 맵으로 쉽게 바꾸어 사용합니다. js, ts 에서는 코틀린의 associate 처럼 메소드로 제공되어 있지는 않지만 reduce 메소드를 이용하여 변환할 sinna94.tistory.com 여러 object로 구성된 array를 map으로 변환하고 싶은 니즈가 있어 찾아보았다. const arr = [ {email: 'abc', age: 1}, {email: 'def', age: 2}, {email: 'ghi', age: 3}, {email: 'jkl', age: 4} ]; // reduce를 사용한 방법 const map1 = arr.reduce((acc, curr) => { a..
- Total
- Today
- Yesterday
- RancherDesktop
- Git
- eureka
- Gradle
- react
- terraform
- spring boot
- kotlin
- Spring Cloud Config
- AWS IoT
- AWS
- Node.js
- etc
- JEST
- hashicorp
- postgresql
- jQuery
- Linux
- shell
- pgloader
- 코딩테스트
- Vault
- Docker
- JPA
- Database
- Java
- mysql
- Puppeteer
- IntelliJ
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |