스터디노트
-
else문 지양 vs 지향 && Early return스터디노트/알게된 내용 정리하기 2022. 7. 27. 16:09
if-else문 개발을 하다보면 조건별로 분기시켜야 하는 경우가 많다. 조건이 많은 경우 if-else문을 사용하게 되면 코드의 가독성이 떨어진다고 느껴지는 경우가 많았다. 최근 클린코드를 지향하면서 코딩하고 있고 다른 개발자분들은 if-else문을 어떻게 사용중인지 궁금하여 구글링해보았다. else if문 else if문을 지양하고 새로운 if문으로 작성하여 조건을 분리하는게 좋다는 글을 확인할 수 있었다. 하지만 저 경우 정답은 없다고 생각했다. 또한 조건이 많아 else-if문 또는 if문이 많아지는 경우 switch-case문을 사용하면 가독성이 더 좋다고 느꼈다. if(a > 1) { console.log('a는 1보다 크다'); } else if(a < 1) { console.l..
-
필드가 배열인 경우 MongoDB update하기스터디노트/DB 2022. 7. 26. 12:44
Field가 array인 경우 items : Array $를 사용하여 인덱스별로 적용 컬렉션이름.updateMany( { 'items.name' : 'something' }, { $set : { 'items.$.price' : 1000 } } ); 참고자료 https://www.mongodb.com/docs/manual/reference/method/db.collection.updateMany/ https://www.mongodb.com/docs/manual/tutorial/query-arrays/
-
[프로그래머스] 없는 숫자 더하기스터디노트/코딩테스트 연습 2022. 7. 18. 14:06
문제 Lv.1 - 없는 숫자 더하기 내 풀이 function solution(numbers) { const missingNumber = []; const number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; number.map((el) => { if (!numbers.includes(el)) missingNumber.push(el); }); return missingNumber.reduce((acc, cur) => acc + cur); }
-
MongoDB 사칙연산 쿼리스터디노트/DB 2022. 7. 4. 17:44
$inc $inc를 사용해서 updateData 만큼 더하거나 뺀 값으로 지정할 수 있다. field : -updateData or field : updateData const data = await DB.findOneAndUpdate( { id: requestId }, { $inc: { field: -updateData, 'field.field': -updateData } }, { useFindAndModify: false, } ); $mul 데이터 만큼 곱해서 저장 const data = await DB.findOneAndUpdate( {id: requestId}, {$mul: {field : 숫자}}, { useFindAndModify: false, } ) 참고자료 https://www.zeroch..
-
MongoDB 필드를 참조하여 업데이트 하기스터디노트/DB 2022. 6. 16. 14:30
필드에 참조하여 Update 해야하는 경우 NoSQL 특성상 내부 필드에 참조하여 Update가 불가능하다. forEach문을 사용하여 필드에 접근 forEach를 사용하여 모든 데이터에 접근한다.db.getCollection("컬렉션 명") .find({ 필드명: { $exists: true } }) .forEach(function (elem) { db.getCollection("컬렉션 명").update( { _id: elem._id, }, { $set: { 업데이트하는 필드: elem.참조할 필드 }, } ); }); 참고자료 http://time2relax.net/wp/?p=972
-
[프로그래머스] 로또의 최고 순위와 최저 순위스터디노트/코딩테스트 연습 2022. 6. 15. 11:24
문제 Lv.1 - 로또의 최고 순위와 최저 순위 내 풀이 function solution(lottos, win_nums) { const highestRank = []; const lowestRank = []; const result = []; lottos.sort((a, b) => a - b); win_nums.sort((a, b) => a - b); for (let i = 0; i < lottos.length; i++) { if (lottos[i] === 0) { highestRank.push(lottos[i]); continue; } for (let j = 0; j < win_nums.length; j++) { if (lottos[i] === win_nums[j]) { highestRank.push(..
-
정규 표현식, padEnd() 메서드스터디노트/JavaScript 2022. 6. 7. 09:50
정규 표현식 | : 또는 {} : 반복 횟수 d : 숫자 w : 알파벳, 숫자로 된 문자, 밑줄 기호(_) [A-Za-z0-9] W : w와 반대 문자 [^a-za-z0-9] g : 전역 매칭 i : 대소문자 무시 const re = /[^a-z]/ -- a~z까지의 문자가 아닌 문자("^" 부정) const re = /^[a-z]/ -- 문자의 처음이 a~z로 시작되는 문장 const re = /[a-z]$/ -- 문자가 a~z로 끝남padEnd() 메서드 현재 문자열을 다른 문자열로 채워 특정 길이를 만족하는 문자열로 반환한다. const str1 = 'kimtaeho'; const str2 = ''; console.log(str1.padEnd(10, 'o'..