오도원입니다.

건강과 행복을 위하여

반응형

JavaScript 9

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); 배..

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/..

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);

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":..

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..

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
반응형