전체 글

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
https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 왜 reduce로 바로하는 방법을 생각하지 못했을까 ? 둘 다 배열로 주어지니 reduce사용해야겠다 바로 떠올려보자 나의 코드 function solution(a, b) { let box = []; for(i=0, k=0; i
https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 한 2분이면 풀겠다 했는데 20분이 걸렸다. 아직 reduce에 대해서 완변하게 이해 못한 것 같다. 그리고 reduce 에서 index를 적극 활용하자 나의 코드 function solution(absolutes, signs) { const result = absolutes.reduce((pre, cur, i) => { if(signs[..
the "Cannot read property '0' of undefined" error occurs when trying to access the index '0' on a variable that stores an 'undefined' value. 이것을 해결하기 위해서는 array 이나 string 같은 인덱스 엑세스를 지원하는 값에만 엑세스해야한다. 예제 const arr = undefined; // ⛔️ Cannot read properties of undefined (reading '0') console.log(arr[0]); const str = undefined; // ⛔️ Cannot read properties of undefined (reading '0') console.log(str..
개발자성장기
개발 공부 노트