TIL 66

230731) .repeat 사용하기

프로그래머스를 풀던 도중 주어진 문자를 각 글자를 n번씩 반복하는 과제를 만났다. 처음으로 .repeat을 사용하여 문제를 간단히 해결하였다. 해결한 방법은 아래와 같다. 참고로 아래 코드를 실행하면 return값이 hhheeellllllooo로 출력되게 된다. function solution(my_string, n) { let array = my_string.split(""); let newArr = array.map((str) => str.repeat(n)).join(""); return newArr; } solution("hello", 3); 1. my_string안의 글자를 하나하나 쪼개서 array라는 이름의 배열안에 넣어 준다. 2. 이후 array를 map으로 돌리며 newArr라는 배열안에..

TIL 2023.07.31

230728) action.payload로 데이터의 특정값을 넘겨받을 때

deleteDataHandler: (state, action) => { return state.filter((data) => data.id !== action.payload); }, 위 코드는 어떠한 data를 삭제하기 위한 코드이다. 이렇게 되면 컴포넌트에서 deleteDataHandler를 실행할 때 파라미터 안에 넣는 값이 action.payload로 들어오게 된다. 참고로 위 코드를 실행시키기 위해 필요한 action.payload값은 데이터의 'id'값이었다. 그렇기에 기존에는 아래와 같이 코드를 작성하였다. (함수 실행 부분) dispatch(deleteDataHandler(data)); (함수 저장 부분) deleteDataHandler: (state, action) => { return s..

TIL 2023.07.28

230727) filter 대신 find를 사용

여러가지 데이터를 찾을 때는 filter를 사용하지만, 한 가지 데이터만 찾으면 될 경우 find를 사용하면 된다. find를 사용하면 해당 조건에 맞는 가장 최상위 데이터를 뽑아낸다. 사용방법은 filter와 비슷하다. array.filter((item)=>{item.id===id}) 형태로 filter를 사용했다면 array의 배열 중 item의 id가 id라는 것과 동일한 모든 것을 꺼내 줄 것이다. 반면 array.find((item)=>{item.id===id}) 형태로 find를 사용하면 array의 배열 중 item의 id강 id와 동일한 것들 중 가장 최상단의 한 가지! 데이터만을 꺼내 준다. find를 사용할 때 주의점! find를 사용했는데 data가 없을 경우 undefined처리가 ..

TIL 2023.07.27

230726) 수정할 때 input에 기존 값을 기본값으로 넣는 방법

원래 코드에서는 placeholder로 기존 값을 불러왔는데, 이렇게 하면 기존에 썼던 기존 값이 모두 날라가는 단점이 있다. 그래서 value에 기존 값을 넣으니, 정상적으로 불러와지긴 하지만 input칸에 있는 값을 수정할 수가 없었다. 이럴 경우에는 아래와 같이 value 대신에 defaultValue를 사용하여 기존값을 넣어 주면, input내에 기존 값을 그대로 유지하면서도 수정을 할 수 있다. setTitle(e.target.value)} /> 코드 예시는 위와 같다. (여기서 selectedData.title은 제 코드내에서 기존의 제목 값을 불러오는 역할을 합니다. 지정해둔 함수명등에 따라 변경하여 사용하시면 됩니다! 포인트는 placeholder, value 대신 defaultValue를..

TIL 2023.07.26

230725) 데이터 수정하여 저장할 때 async, await 사용 사례

React, react-router-dom을 이용하여 useState를 통해 데이터를 저장하고, 수정하고, 삭제하는 연습을 하는 과정에서 아래와 같은 순서로 데이터를 수정하려고 시도하였는데 문제점이 발생하였다. 1. newData라는 변수명을 만들어 이곳에 수정된 데이터를 저장한다. 2. updatedDatas라는 변수명을 만들어 이곳에 수정된 데이터를 반영한 데이터리스트(배열)을 저장한다. 하지만 분명 newData를 console.log로 찍어 봤을 때는 데이터가 잘 들어가는 것처럼 보임에도 불구하고 막상 제대로 배열에 반영이 되지 않는 듯한 모습을 보였다. 혹시 하는 마음에 async await을 이용하여 비동기 처리가 되겠끔 하고, newData의 저장이 확실히 끝나고 난 뒤 updatedData..

TIL 2023.07.25