본문 바로가기

JAVASCRIPT

(66)
JAVASCRIPT ) singly Linked List 배열의 길이가 5만개라고 가정해보자만약 맨 첫번째 배열값을 삭제하면 나머지 4만9천9백9십9개가 앞으로 한칸씩 자리를 이동하게될것이고그러면 엄청난 부하가 생길것이다.따라서 우리가 알고있는 shift()같은 것은 실제로 대규모 데이터를 다루기엔 문제가 있다. 이를 해결하기위해 singly Linked List 자료구조형을 이용한다.데이터에 다음 데이터를 연결시켜주면 중간에 데이터가 삭제되더라도 데이터의 이동이 일어나지않는다. 이 구조는 단방향 탐색만 가능하다.A 다음이 B라는건 알 수 있지만 B 이전이 A라는건 알 수 없다.  class singleLikedList{ constructor(id){ this.id = id; this._value = null; thi..
JAVASCRIPT ) map() 배열을 순회하며 각 요소에 대하여 인자로 주어진 콜백 함수의 반환값으로 새로운 배열을 생성하여 반환한다. 이때 원본 배열은 변경되지 않는다.-> 비파괴함수forEach 메소드는 배열을 순회하며 요소 값을 참조하여 무언가를 하기 위한 함수이며 map 메소드는 배열을 순회하며 요소 값을 다른 값으로 맵핑하기 위한 함수이다.물론 아래의 코드는 for문 forEach문 map문 전부 다 사용할 수는 있다. 하지만 역할에 따라서 가급적 나눠서 사용하라. const numbers = [1, 4, 9];// 배열을 순회하며 각 요소에 대하여 인자로 주어진 콜백함수를 실행const roots = numbers.map(function (item) { // 반환값이 새로운 배열의 요소가 된다. 반환값이 없으면 새로운 배..
JAVASCRIPT ) sort() sort()는 문자열 기준 오름차순 정렬이다.따라서 숫자를 그냥 sort()하면 실제 오름차순 정렬이 안된다.따라서 아래의 Quick Sort 방식을 사용하면 오름차순, 내림차순을 할 수 있다. 암기할것 숫자 오름차순const points = [40, 100, 1, 5, 2, 25, 10];// 숫자 배열 오름차순 정렬// 비교 함수의 반환값이 0보다 작은 경우, a를 우선하여 정렬한다.points.sort(function (a, b) { return a - b; });// ES6 화살표 함수// points.sort((a, b) => a - b);console.log(points); // [ 1, 2, 5, 10, 25, 40, 100 ] 숫자 내림차순const points = [40, 100, 1, ..
JAVASCRIPT ) 배열 고차 함수 자바스크립트에서 배열 고차 함수(Higher-Order Functions)란 다른 함수를 인자로 받거나 또는 함수를 반환하는 함수를 의미합니다. 대표적인 배열 고차 함수에는 map, filter, reduce, forEach, some, every 등이 있습니다. 1. forEach()forEach()는 배열의 각 요소에 대해 주어진 함수를 실행합니다. 단, 값을 반환하지 않습니다(즉, 배열을 변경하거나 새 배열을 반환하지 않음).const numbers = [1, 2, 3, 4];numbers.forEach(function(num) { console.log(num); // 각 요소를 콘솔에 출력});  forEach()는 배열의 각 요소를 반복하며 함수(callback)를 실행하지만, 배열을 변환하지..
JAVASCRIPT ) 디스트럭처링 자바스크립트에서 **디스트럭처링(destructuring)**은 배열이나 객체의 값을 쉽게 추출하여 변수에 할당할 수 있는 문법입니다. 이 문법을 사용하면 코드가 간결해지고, 데이터를 처리하는 것이 훨씬 직관적이 됩니다. 1. 배열 디스트럭처링배열의 요소들을 쉽게 변수로 할당할 수 있습니다.const arr = [1, 2, 3];// 배열 디스트럭처링const [a, b, c] = arr;console.log(a); // 1console.log(b); // 2console.log(c); // 3  값 무시하기: 배열에서 특정 값만 필요할 때, 쉼표로 무시할 수 있습니다.const arr = [1, 2, 3, 4];const [first, , third] = arr;console.log(first); //..
JAVASCRIPT ) Spread 문법 자바스크립트의 Spread 문법(...)은 배열이나 객체의 요소나 속성을 펼쳐서 새로운 배열이나 객체를 생성할 때 사용되는 문법입니다. Spread 문법은 다양한 상황에서 간편하게 데이터를 다룰 수 있게 해주며, 배열과 객체에 주로 사용됩니다. 1. 배열에서의 Spread 문법배열의 각 요소를 펼쳐서 새로운 배열을 만들 수 있습니다. 배열 복사Spread 문법을 사용하여 배열을 간단히 복사할 수 있습니다. (깊은 복사는 아님)const arr1 = [1, 2, 3];const arr2 = [...arr1];console.log(arr2); // [1, 2, 3]  배열 결합 const arr1 = [1, 2];const arr2 = [3, 4];const combined = [...arr1, ...arr..
JAVASCRIPT ) Rest 파라미터 Rest 파라미터는 이름 그대로 먼저 선언된 파라미터에 할당된 인수를 제외한 나머지 인수들이 모두 배열에 담겨 할당된다.따라서 Rest 파라미터는 반드시 마지막 파라미터여야 한다.Rest 파라미터는 ... 으로 사용한다. function foo(v1, v2, ...v3){ document.write(v1 +""); //1 document.write(v2 +""); //2 document.write(v3 +""); //3,4,5}foo(1,2,3,4,5);  Rest 파라미터의 주요 특징가변 인자 처리: Rest 파라미터는 함수에 전달되는 가변 인자(정해지지 않은 개수의 인자들)를 배열로 묶어줍니다.function sum(...numbers) { return numbers.reduce((..
JAVASCRIPT ) 클로저 Closure 클로저는 함수를 콜 할 때 마다 값이 초기화되는것을 방지하고 값을 살아있게 만드는 개념입니다.클로저는 함수가 외부 함수의 변수에 접근할 수 있는 기능을 제공하며, 외부 함수가 실행을 끝낸 후에도 그 외부 변수들에 접근할 수 있는 기능을 유지합니다. function aF(){ let myV = 1004; function aaa(){ myV++; document.write(myV); } return aaa; ///aaa함수를 리턴값으로}let hohoho = aF(); //af()를 호출했으니까 myV는 계속 살아있는거임hohoho(); //aaa가 함수기때문에 호출가능 ---> 클로저함수hohoho();hohoho();hohoho(); 위 코드에서 aaa..