테스트 사이트 - 개발 중인 베타 버전입니다

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 포인트
m
3년 전
input = input.replace(/\s/gi, "");

에서 input에 있는 공백을 제거 합니다.

공백을 제거 하고 나서 빈 문자열일 경우 경고창 띄우게 하면 될것 같습니다. 

그리구 버튼에 있는 onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하면 될것 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

찰스3세
3년 전
onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하려면 어떻게 해아할까요? 공백은 제거된거 같긴 한데 여전히 빈 문자열이 추가됩니다.

댓글을 작성하려면 로그인이 필요합니다.

m
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, "") 가 의미하는것은 뭔가요???
찰스3세
3년 전
input === " " 일 때
let [input, setInput] = useState("");
input 배열에 추가되는 것을 막고 싶은데

써주신 코드를 이용해도 빈 문자열이 그대로 input 배열에 추가됩니다 ㅠ ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인