본문 바로가기
반응형

JavaScript49

TIL 1009 소수구하기 null 과 undefined 구분 소수구하기 내 풀이 function prime(num){ let count=0; for(let i=1;i 2020. 10. 12.
제곱근 구하기 바빌로니아법 .toFixed() 소수점 두자리까지 (세번째 자리에서 반올림) 구하기 바빌로니아 법으로 제곱근 구하기 방법 1. 바빌로니아법을 활용해서 코딩한 예 let result=0; let x=1; for(let i=0; i num 일 때, while 문을 빠져나와 base^2 === num 이면 base를 리턴한다. 3. 2번의 조건을 충족하지 못했을 때, base에서 diff 의 i 번째 인덱스를 뺀다. 4. 1~3번까지의 과정을 diffs의 마지막 인덱스 값까지 반복한다. 5. base의 소수점 둘째자리까지 반올림하여 리턴한다. 위에서 사용된 .toFixed()의 설명 .toFixed() 2020. 10. 8.
TIL 1007 _.sortBy(arr.sort()) _.flatten(재귀함수) 3일걸린 문제 계속 이해가 안가서 3일 밤낮으로 고민했던 문제. 항상 문제를 제대로 이해했다고 생각하고 푸는순간 맹점이 생긴다. 잘했다고 생각했는데 풀리지 않는것은 맹점을 놓치고 있어서다. 이것을 꼭 반드시 항상 주의하자. _.sortBy ( arr.sort( ) ) 계속 sort( function(a, b){...} ) 으로 풀려고 시도했는데, 인자로 전달해주는 function 에서 어떤 순서로 a, b가 들어가는지어떤 알고리즘으로 정렬되는지 이해하지 못해서 계속 골머리를 앓았다. 검색해보다 누군가가 댓글로 설명해 둔것이 있어 참고하고 완전한 이해는 힘들다고 판단. 흐름만 이해하기로 했다. 아래는 내가 이 문제를 며칠동안 고민하게 만든 이유 1. 인자로 주어지는 arr이 const로 선언되어 값이 변경될 수 없다. .. 2020. 10. 7.
TIL 0928 for in, Array와 Object 구분법 for ( in ) 사용법. (객체 순환시) for(let key in collection){ key ... } key를 꼭 let 키워드로 선언해서 오류가 발생하지 않도록 하자. if(Array.isArray(collection)) { ... }else{typeof collection === 'object'){ ... } 또는 if(collection instanceof Array){ ... }else if(collection instanceof Object){ ... } Array는 Object 타입 안에 속하기 때문에 array instanceof Object //true 이다. 그래서 else if로 분기 순서를 정확히 나눠주는 것이 중요. 순서에 주의. 2020. 10. 7.
TIL 0925~26 arr.reduce() filter() map() sort() some() find() 초기값을 줬을 때 arr.reduce( func( acc, val ) { ... } , initialValue ); acc에 initialValue가 들어가고 val엔 arr의 첫번째 요소가 들어간다. 이후론 val에 arr의 다음요소가 순서대로 들어가며 콜백함수를 반복. 초기값을 주지 않았을 때 arr.reduce( func( acc, val ) { ... }); acc에 arr의 첫번째 요소가 들어가고 val엔 arr의 두번째 요소가 들어간다. 이후론 val에 arr의 세번째 요소부터 순서대로 들어가며 콜백함수를 반복. arr.reduce()예제 var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alic.. 2020. 9. 25.
TIL 0918 클래스 Math.max arguments RestParameter / SpreadSyntax 클래스 정의 ES5 에서 클래스는 함수로 정의할 수 있다. 아래는 클래스의 속성과 메서드를 정의한 모습 function Car(brand, name, color){ this.brand = brand; this.name = name; this.color = color; } function Car(brand, name, color){ //인스턴스가 만들어질 때 실행되는 코드 Car.prototype.refuel = function (){ //연료 공급을 위한 코드 } } ES6 에서 클래스는 클래스로 정의한다. 속성과 메서드 정의 class Car(){ constructor(brand, name, color){ this.brand = brand; this.name = name; this.color = col.. 2020. 9. 18.
TIL 0917 Testbuilder, 조건문, 리터럴, IIFE(Immediately invoked function expression) 조건문 /** * Maestro 앞자리 5018 5020 5038 6304 이고 length 12 ~ 19 * * China UnionPay 622126-622925 624-626 6282-6288 이고 length 16 ~ 19 * * Switch 4903 4905 4911 4936 564182 633110 6333 6759 length 16 18 19 */ if(['5018', '5020', '5038', '6304'].includes(cardNumber.substring(0,4)) //앞4자리가 배열값중 하나일때 && (cardNumber.length >= 12 && cardNumber.length = 622126 && Number(cardNumber.substring(0,6)) =6282 && N.. 2020. 9. 17.
함수 선언식, 함수 표현식 함수 선언식(Function Declaration) function something() { ... } function funcDeclaration() { return 'function declaration'; } funcDeclarations(); // 'function declaration' 함수 표현식 (Function Expression) let something = function () { ... }; let funcExpression = function () { return 'function expression'; } funcExpression(); // 'function expression' 차이점 함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다. 함수 .. 2020. 9. 17.
TIL 0916 JavaScript Koans 과제 보호되어 있는 글 입니다. 2020. 9. 16.
반응형