전체 글

객체란? 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 key 와 value로 구성된다. - 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. - 따라서 함수도 프로퍼티 값으로 사용할 수 있다. ( 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드(method)라고 부름 - 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 일급 객체 더보기 더보기 일급 객체란? 다음과 같은 조건을 만족하는 객체를 입급 객체라 한다. 1. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다. 2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 3. 함수의 매개변수에 전달할 수 있다. 4. 함수의 반환값으로 사용할 수 있다. 자바스크립트의 함수는..
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 이것은 너무 어렵게 생각했다. 그리고 바로 생각나는 대로 진행했지만 더 좋은 방법이 있었다. 나의코드 function solution(nums) { var answer = 0; const 뽑아야하는포켓몬수 = Math.floor(nums.length/2) const 객체로변환 = nums.reduce((acc, cur) =>{ acc[cur] = (acc[cu..
Array.prototype.includes() includes 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다. 반환값은 Boolean 입니다. 구문 arr.includes(valueToFind[, fromIndex]) const array1 = [1, 2, 3]; console.log(array1.includes(2)); // expected output: true const pets = ['cat', 'dog', 'bat']; console.log(pets.includes('cat')); // expected output: true console.log(pets.includes('at')); // expected output: false [1, 2, 3].includes(2); // true..
delete 는 객체의 속성을 제거 할때 쓰는 연산자이다 -반환값은 제거에 성공하면 true 실페하면 false / stric 모드에서 속성이 자신의 속성이며 설정이 불가능할 경우 typeError -delete는 단순히 객체와 속성과의 연결을 끊을 뿐 실제로 메모리에서 제거하는것은 아니다. -delete 하고 싶은 delete 연산자를 사용하기보다 값을 null 이나 undefined로 설정하는것을 추천한다. var array = [0, 1, 2, 3] delete array[2] true array // (4) [0, 1, empty, 3] (배열도 객체의 일종이기에 객체 및 배열에서 속성을 제거할때 사용가능) - delete 연산을 하여도 배열의 크기는 그대로 유지 된다. 따라서 delete 연산은..
Array.prototype.filter filter 메서드는 자신의 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백 함수를 반복 호출한다. 그리고 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환한다. 이때 원본 배열은 변경되지 않는다. const numbers = [1, 2, 3, 4, 5]; //filter 메서드는 numbers 배열의 모든 요소를 순회하면서 콜백 함수를 반복 호출한다. // 그리고 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환한다. // 다음의 경우 numbers 배열에서 홀수인 요소만 필터링한다 (1은 true로 평가된다). const odds = numbers.filter(item => item % 2); console.log..
https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 나의 코드 function solution(array, commands) { let classify let box = [] for(i=0; i a-b..
나의코드 처음에는 아래처럼 작성했다 function solution(participant, completion) { let fail = []; for(i=0; i { pre[cur] = (pre[cur] || 0) +1; return pre },{}) for(i=0; i 0) return k; } return 'nothing'; } 이때는 map 객체를 몰라서 공부하고 왔다. 예시 테스트 케이스 participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" 해설 map.set(a ~ 에서 처음에 맵 객체가 텅 비어있으니 map.get(a)는 undefine 이 나와서 0으로 되고 + 1 이 된다. 즉 맵 객체안에 [["leo", ..
이전에 우리가 알고있는 자료구조는 객체 - 키가 있는 컬렉션을 저장함 배열 - 순서가 있는 렉션을 저장함 였지만 현실세계를 반영하기에는 이 두 자료구조 만으론 부족해서 Map Object가 만들어졌다. 맵 객체 메소드 맵 객체는 기존 객체와는 다르게 메소드만을 이용해 값을 넣고 뺀다. 기본적으로 추가, 조회, 삭제를 할 수 있는 메소드들은 아래와 같다 //변수명 자유롭게 설정 가능 let map = new Map(); // set으로 맵 객체에 추가 map.set("id", 0); map.set("이름", "마이클"); map.set("전공", "영문학"); map.set("나이", 25); // 이런식으로 정의할때부터 바로 넘겨줄 수 도 있음 let michael = new Map([ ["id", 0]..
그새 또 소수 구하는 것을 까먹었다 다시 공부 ㄲ 서로다른 3개를 뽑을때는 for 3중첩 해주기 나의 코드 function solution(nums) { //서로다른 3개를 어떻게 뽑지? const isPrime = (num) => { if(!num || num === 1) return false; for(let i = 2; i < num; i++){ if(num % i === 0) return false } return true } let box = 0; let result = []; for(i=0; i
개발자성장기
개발 공부 노트