본문 바로가기

Study/JS

(36)
JS - 문자열에서 숫자 추출하기 숫자를 문자열로 추출하기 '1J2A3V4A5S6C7R8I9P0T' 같은 문자 사이에서 숫자들을 하나의 숫자로 추출하는 방법입니다. 이럴 때는 정규식을 사용하여 추출하는 방법을 사용합니다. /[^0-9]/g 는 숫자가 아닌 문자들을 의미하며, /[^0-9]/g는 대괄호 안의 패턴을 문자열에서 모두 매칭하라는 뜻입니다. string.replace(regex, "")를 이용하여 regex에 해당하는 숫자가 아닌 모든 패턴을 ""으로 변환해줍니다. const string = "1J2A3V4A5S6C7R8I9P0T"; const regex = /[^0-9]/g; const result = string.replace(regex, ""); console.log(result); // 1234567890
JS - 배열 순서 바꾸기 1. 배열의 마지막 요소를 맨 앞으로 이동하기 let fruits = ["grape", "orange", "peer", "apple"]; let last = fruits[fruits.length-1]; fruits.splice(fruits.length-1, 1); fruits.unshift(last) console.log( fruits ); // ['apple', 'grape', 'orange', 'peer'] 2. 요소 맞교환하기 let fruits = ["grape", "orange", "peer", "apple"]; let tmp = fruits[3]; fruits[3] = fruits[0]; fruits[0] = tmp; console.log(fruits) // ['apple', 'orange',..
JS - Array.prototype.map() 구현하기 map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. - mdn const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] 다음과 같이 배열의 요소 하나하나에 원하는 함수를 넣어서 그 결과로 새로운 배열을 만드는 map 함수를 직접 구현해보겠습니다. const arr = [1,2,3,4,5]; 먼저 임의의 배열을 먼저 추가해줍니다. Array.prototype.map2 = function(callback) { return null;..
JS - Array.prototype.filter() 구현하기 filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. - mdn const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"] 다음과 같이 배열에서 원하는 조건의 배열을 리턴하는 filter 함수를 직접 구현해보겠습니다. const arr = ['spray', 'limit', 'elite', 'exuberant', 'destr..
JS - Array.prototype.reduce() 구현하기 reduce()** **메서드는 배열의 각 요소에 대해 주어진 **리듀서**(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다. - mdn const array1 = [1, 2, 3, 4]; // 0 + 1 + 2 + 3 + 4 const initialValue = 0; const sumWithInitial = array1.reduce( (previousValue, currentValue) => previousValue + currentValue, initialValue ); console.log(sumWithInitial); // expected output: 10 다음과 같이 배열의 총 합을 구할때 많이 사용하는 reduce 함수를 직접 구현해보겠습니다. const arr = [1,2,3,..
클로저 (Closure) 클로저(Closure) 클로저에 대해 MDN은 아래와 같이 정의하고 있습니다. “A closure is the combination of a function and the lexical environment within which that function was declared.” 클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경(Lexical environment)과의 조합이다. 클로저란? 중첩함수가 외부함수보다 더 오래 유지되며, 상위 스코프의 식별자를 참조하는것이라고 할 수 있습니다. 외부함수보다 중첩함수가 더 오래 유지되는 경우, 중첩함수는 생명주기가 종료된 외부함수의 변수를 참조할 수 있으며 이러한 중첩함수를 클로저라 부릅니다. 클로저는 중첩함수가 상위 스코프의 식별자를 참조하고 있고, 중첩..
진수변환 10진수를 다른 진수로 변환 Number.toString() 특정 객체를 문자열로 반환해준다. 어떤 10진수를 특정 진수로 바꿀 때 사용한다. let num = 8; console.log(num.toString(6)); //12 num = 32; console.log(num.toString(16)); //20 console.log(typeof(num.toString(16)); // string 다른진수를 10진수로 변환 parseInt(String, 진수) 문자열을 정수로 변환. let num = "11"; console.log(parseInt(num, 2)); //3 console.log(typeof(parseInt(num, 2))); //number
JSON JSON JSON 이란? 클라이언트와 서버간의 HTTP통신을 위한 텍스트 데이터 포맷이다. JS에 종속되지않는 언어 독립형 데이터포맷이다. 표기방식 JS에서의 객체 리터럴과 유사하게 키와 값으로 구성된다. JSON의 키는 반드시 큰따옴표(작은따옴표사용불가)로 묶어야 한다. { "name":"Lee", "age":20, "alive":true, "hobby":["traveling", "tennis"], } JSON.stringify 객체를 JSON포맷의 문자열로 변환한다. 클라이언트가 서버로 객체를 전송하려면 객체를 문자열화해야하는데 이를 직렬화라 한다. const obj = { name:"Lee", age:20, alive:true, hobby:["traveling", "tennis"], } const ..