Javascript. Swap 자바스크립트에서 단순 swap은 굉장히 간단하다. let a = 10; let b = 4; [a, b] = [b, a]; console.log(a) // 4 console.log(b) // 10 파이썬에서의 swap과 유사하다. a, b = b, a # (a, b) = (b, a) 참고. https://zetawiki.com/wiki/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8_swap() Development/Javascript 2020.08.26
Javascript. 길이 n의 array를 특정 값으로 초기화하기; How to initialize an array's length. 1. 길이 n의 array생성 let arr = new Array(n); 2. array의 값을 k로 초기화 arr.fill(value); 길이 n 배열 생성 및 초기화 let arr = new Array(n).fill(value); 주의할 점 : n차원 배열 초기화는 안된다. n차원 배열을 초기화할 때 .fill(new Array())를 하게되면 같은 주소를 공유하는 문제가 발생한다. 예를 들어 2차원 빈 배열을 초기화한다고 해보자. let array2D = new Array(4).fill(new Array()); console.log(array2D); 길이 4의 2차원배열이 제대로 초기화된 것처럼 보인다. 하지만 index 1에 값을 넣는 순간 문제가 발생한다. array2D[1].push(2); 배.. Development/Javascript 2020.08.20
Javascript. array of array에서 가장 긴 array index 찾기 reduce 함수를 사용하면 쉽게 구할 수 있다. let idxOfMaxLen = arrays.reduce((idx, tmpArr) => { tmpArr.length > arrays[idx].length ? idx + 1 : idx }, 0) 예시 var arrays = [ [1,1,1,1,1], [1,1], [1,1,1,1,1,1,1,1,1,1], [1,1,1,1] ] var indexOfLongestArray = arrays.reduce((idx, arr) => arr.length > arrays[idx].length ? idx + 1 : idx , 0) // print result: console.log( indexOfLongestArray ) 참고. https://stackoverflow.com/.. Development/Javascript 2020.08.20
Javascript. JSON 데이터 추가(add) / 삭제(delete) An object is an unordered set of name/value pairs. JSON 데이터를 추가, 삭제하는 방법 1. 추가 obj.key_name = value; 2. 삭제 delete obj.key_name; 3. 예시 let person = { name : "오도원", age : 24, job : 'student' }; console.log('>>>>> person'); console.log(person); console.log(">>>>> add gender"); person.gender = "male"; console.log(person); console.log(">>>>> delete job"); delete person.job console.log(person); Development/Javascript 2020.08.10
Javascript. 진짜로 Deep Copy하기 Javascript에서 Array 또는 Object를 복사하는 방법에 대해서 알아보자. 일단 결론부터 말하면 다음과 같이 하면된다. let deepArr = JSON.parse(JSON.stringify(arr1)); 다음은 자세한 설명이다. 1. 깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy) 얕은 복사는 alias로 인해 같은 주소를 공유하기 때문에 복사한 객체를 변경하면 기존 객체도 같이 변경되는 문제가 발생할 수 있다. 따라서 복사를 할 때는 깊은 복사를 해야 추후 예상치 못한 문제를 방지할 수 있다. 2. 자바스크립트에서의 복사 1) 얕은 복사 - 대입 let arr1 = [ {"name": "오도원", "job": "player"}, {"name": "오도투", "job":.. Development/Javascript 2020.08.10
Javascript. Windows 터미널 창에서 nodejs를 실행할 때 화면을 clear하는 방법 터미널 창에서 다음 코드를 실행한다. process.stdout.write("\u001b[2J\u001b[0;0H"); 더 쉬운 방법을 발견했다. 위의 구문을 실행하면 true가 출력되면서 화면이 cleaer된다. Development/Javascript 2020.08.10
Javascript. sum of array, 배열의 원소 합구하기, reduce 함수이용 reduce함수를 이용한다. let arr = [1, 2, 3, 4]; let ret = arr.reduce((a, b) => a + b, 0); console.log(ret); Array.prototype.reduce() arr.reduce(callback[, initialValue]) callback 함수 구조. const callback = (accumulator, currentValue) => accumulator + currentValue; accumulator에 currentValue값이 누적된다. 참고. 1. reduce를 활용한 array sum https://stackoverflow.com/questions/1230233/how-to-find-the-sum-of-an-array-of-nu.. Development/Javascript 2020.08.07
2. 자바스크립트 엔진 1. 자바스크립트 엔진 자바스크립트 코드를 해석하고 실행한다. 가능한 짧은 시간내에 가장 최적화된 코드 생성이 목표 인터프리터를 말한다. 표준 인터프리터 또는 자바스크립트 코드를 바이트코드로 컴파일 하는 JIT 컴파일러로 구현가능 웹 브라우저를 위해 사용된다. 가장 잘 알려진 엔진은 구글의 V8엔진이다. 2. 종류 V8 : 구글에서 개발. C++로 작성되었으며, 구글 크롬과 Node.js에서 사용된다. SpiderMonkey, Rhino, JavascriptCore, Chakra, Nashron, JerryScript Development/Node.js 2020.07.19
1. Node.js 1. Node.js 웹에서 서버를 개발할 때 쓰이는 언어 자바스크립트 기반의 프레임워크 2. 핵심 싱글 스레드에 비동기(Asynchronous)방식 자바스크립트 기반 프론트뿐만 아니라 백엔드 또한 js로 작성할 수 있게된다. 3. 자바스크립트(Javascript) 프론트엔드 -> HTML, CSS, Javascript HTML : 웹페이지의 뼈대 제공 CSS : 색깔, 글씨체, 모양과 같은 디자인적 요소 JS : 웹페이지의 동작 따라서, 자바스크립트는 동적으로 컨텐츠를 바꾸고, 멀티미디어나 움직이는 이미지 등 웹페이지를 꾸며주도록 도와준다. 구글, 페이스북, 트위터 등 각종 웹에서 모두 ajax를 적극적으로 활용하여 동적인 웹을 개발한다. AJAX는 Asynchrounous Javascript And X.. Development/Node.js 2020.07.19