본문 바로가기
반응형

javascript58

프로그래머스 레벨1 김서방 찾기 프로그래머스 레벨 1 문제입니다. String 배열 seoul의 element중 'Kim'의 위치 x를 찾아 '김서방은 x에 있다'는 String을 반환하는 함수를 완성하세요. seoul에 'kim'은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. seoul은 길이 1이상, 1000 이하인 배열 seoul의 원소는 길이 1이상, 20 이하인 문자열 kim은 반드시 seoul안에 포함되어있음 function find(seoul) { const idx = seoul.indexOf('Kim'); return `김서방은 ${idx}에 있다` } 2020. 3. 13.
프로그래머스 레벨1 수박수박수박 프로그래머스 레벨 1 문제입니다. 길이가 n이고 '수박수박수박수..'와 같은 패턴을 유지하는 문자열을 리턴하는 함수를 완성하세요. 예를 들어 n이 4이면 '수박수박'을 리턴하고 3이면 '수박수'를 리턴하면 됩니다. function solution(n) { let result = ""; for(let i = 0; i < n; i++) { result += i % 2 == 0 ? '수' : '박'; } return result } console.log( solution(1) ) // 수 console.log( solution(4) ) // 수박수박 2020. 3. 11.
Debouncing, Throttling 디바운싱과 쓰로틀링은 웹페이지의 성능을 향상시키기 위해 이벤트를 제한하는 방법입니다. loadash나 underscore에는 이미 있는 기능입니다. 사용자가 키보드 입력을 중지할 때까지 ajax를 발생시키지 않는다거나 페이지의 스크롤을 측정할 때 주로 사용됩니다. 사용자가 길게 스크롤을 한다면 엄청나게 많은 이벤트가 발생하게 됩니다. 그 많은 이벤트를 수행하는 일이 큰 리소스를 잡아먹게 되고 성능에 문제가 발생합니다. 쓰로틀링 스크롤 이벤트가 빈번하게 발생할 때 쓰로틀링을 걸어줍니다. 몇 초, 몇 밀리초에 한번씩만 실행되게 제한을 걸어줍니다. var timer; window.addEventListener('scroll', e => { console.log('no throttling') if(!timer).. 2020. 2. 26.
Blob Blob Blob(Binary Large Object, 블랍)은 파일류의 불변하는 미가공 데이터를 나타냅니다 데이터의 크기, MIME 타입을 알아내거나, 데이터 송수신을 위해 Blob 객체로 나누는 등의 작업에 사용합니다. 블롭이 아닌 객체와 데이터에서 Blob을 생성하려면 Blob() 생성자를 사용합니다. const obj = {hello: 'world'}; const blob = new Blob([JSON.stringify(obj, null, 2)], {type : 'application/json'}); 생성자를 통해 만들어진 Blob 객체는 size, type의 속성을 가집니다. size는 데이터의 바이트 단위의 사이즈입니다. type은 Blob 객체가 담은 데이터의 MIME 유형을 나타내는 문자열.. 2020. 2. 25.
정렬 // 숫자 정렬 var score = [4, 11, 2, 10, 3, 1]; // 오류 score.sort(); // 1, 10, 11, 2, 3, 4 // ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음 // 정상 score.sort(function(a, b) { // 오름차순 return a - b; // 1, 2, 3, 4, 10, 11 }); score.sort(function(a, b) { // 내림차순 return b - a; // 11, 10, 4, 3, 2, 1 }); // 오브젝트 정렬 var student = [ { name : "재석", age : 21}, { name : "광희", age : 25}, { name : "형돈", age : 13}, { name : "명수".. 2020. 1. 30.
ES6 향상된 객체 리터럴 var test = { word: 10, // ES5 look: function(){ console.log('ES5') }, // ES6 look(){ console.log('ES6') }, // ES5 image: image, // ES6 image } 기존에 객체에 함수를 만들때 look: function(){ ... } 와 같이 만들었지만, ES6에서는 function 을 생략하고 look(){ ... } 처럼 축약해서 만들 수 있습니다. 또, 객체에서 속성과 값이 같으면 한개는 생략하고 사용할 수 있습니다. 2019. 11. 24.
반응형