분류 전체보기

● 오늘 공부한 것 재귀 stringify.JSON.js function stringifyJSON(obj) { // your code goes here if(typeof obj === 'number' || typeof obj === 'boolean' || obj === null) return `${obj}`; if(typeof obj === 'string') return `"${obj}"`; if(Array.isArray(obj)){ const arr = [] for(let el of obj){ arr.push(stringifyJSON(el)); } return `[${arr}]` } if(typeof obj === 'object'){ let newObj = ''; for (let key in obj){..
문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한사항 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ["sun", "be..
● 오늘 공부한 것 재귀 07_arrLength function arrLength(arr) { // TODO: 여기에 코드를 작성합니다. if (arr.isEmpty()) return 0; arr.shift(); return 1 + arrLength(arr) } 08_drop if (num === 0 || arr.length === 0) return arr; else if (num > arr.length ) return []; arr.shift(); return drop(num-1, arr) 09_take function take(num, arr) { // TODO: 여기에 코드를 작성합니다. if (num === 0 || arr.length === 0) return []; const head = arr..
리액트에서 state에 배열을 넣어둔다면, setter로 배열의 요소를 수정하면 변경됐다고 생각하지 않아? 그냥 아예 배열을 새로 얕은복사하고 setter함수로 새로 배열을 넣어주어야 변경되었다고 감지하는 거야? 왜 꼭 setter함수를 [...state]로 수정해야할까에 대한 의문점이 들었는데, 그이유는 리액트는 렌더링이전의 state와 렌더링된 state를 비교할 때, 같은 주소값을 가르키고 있는지에 따라 구분을 한다는 것이다. 예를들어 아래와 같이 state를 정의했다고 해보자. const [state, setState] = useState([1,2,3,4,5]); function example(){ const copy = state; setState(copy); } 그러면 위의 예제에서 examp..
예를 들어, 버튼을 눌렀을 때, 4개의 state가 변한다고 해보자. 그럼 이벤트 핸들러에 setter함수가 4개가 있을 텐데, 각각 state가 변할 때마다 렌더링될까? 에 대한 의문점을 갖고 했던 질문이다. 그게 아니라 리액트는 한번에 렌더링을 하게 된다. 즉 4번 렌더링 되는 것이아니라 한번에 렌더링 된다.
● 오늘 공부한 것 기술면접 Promise의 기능과 필요한 이유에 대해서 설명해 주세요. 프로미스란 비동기 메서드에서 마치 동기 메서드처럼 값을 반환하고 싶을 때 사용하는 비동기 함수입니다. 만약에 ajax요청과 같은 서버에 요청을 보내거나 데이터를 가져와 변수에 저장하고 싶은데, 동기적으로 불러와 저장한다면 변수는 undefined가 될 것입니다. 왜냐하면 서버에서 데이터를 불러오는 시간이 있기 때문입니다. 따라서 프로미스를 조금 더 쉽게 말하면 미래에 어떤 값을 반환하겠다는 것을 약속하는 비동기 함수입니다. 만약 프로미스를 통해 ajax 요청과 같은 비동기 작업을 처리하고 싶다고 했을 때, 정상적으로 이뤄진다면 resolve함수가 호출되고 , 문제가 생긴다면 reject함수가 호출됩니다. 이후 the..
김코린이
'분류 전체보기' 카테고리의 글 목록 (17 Page)