unshift를 막는 법? 채택완료
찰스3세
3년 전
조회 2,712
function empty() {
if (input === "") {
alert("검색어 입력");
} else {
}
}
<button
onClick={() => {
let copy = [...글제목];
copy.unshift(input);
글수정(copy);
empty();
}}
>
글등록
</button>
빈 input일 경우 "검색어 입력" 이라는 alert 창을 띄우는데는 성공했는데
빈 인풋 " " 그대로 배열에 추가되어 빈 제목이 추가가 됩니다.
unshift 되는 값이 0 일 때 배열에 추가되는 것을 막아야 하는데 어떻게 해야 할까요..?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
3년 전
input = input.replace(/\s/gi, "");
에서 input에 있는 공백을 제거 합니다.
공백을 제거 하고 나서 빈 문자열일 경우 경고창 띄우게 하면 될것 같습니다.
그리구 버튼에 있는 onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하면 될것 같습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
찰스3세
3년 전
onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하려면 어떻게 해아할까요? 공백은 제거된거 같긴 한데 여전히 빈 문자열이 추가됩니다.
댓글을 작성하려면 로그인이 필요합니다.
3년 전
</p>
<p>function empty() {</p>
<p>input = input.replace(/\s/gi, "");</p>
<p>if (input === "") {</p>
<p>alert("검색어 입력");</p>
<p>return false;</p>
<p>} else {</p>
<p>}</p>
<p>}</p>
<p> </p>
<p><button</p>
<p>onClick={() => {</p>
<p>let copy = [...글제목];</p>
<p>empty();</p>
<p>copy.unshift(input);</p>
<p>글수정(copy);</p>
<p> </p>
<p>}}</p>
<p>></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
찰스3세
3년 전
우선 코드 감사합니다.
(/\s/gi, "") 가 의미하는것은 뭔가요???
(/\s/gi, "") 가 의미하는것은 뭔가요???
�
찰스3세
3년 전
input === " " 일 때
let [input, setInput] = useState("");
input 배열에 추가되는 것을 막고 싶은데
써주신 코드를 이용해도 빈 문자열이 그대로 input 배열에 추가됩니다 ㅠ ㅠ
let [input, setInput] = useState("");
input 배열에 추가되는 것을 막고 싶은데
써주신 코드를 이용해도 빈 문자열이 그대로 input 배열에 추가됩니다 ㅠ ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인