unshift를 막는 법? 채택완료

function empty() {

if (input === "") {

alert("검색어 입력");

} else {

}

}

 

<button

onClick={() => {

let copy = [...글제목];

copy.unshift(input);

글수정(copy);

empty();

}}

>

글등록

</button>

 

 

 

빈 input일 경우 "검색어 입력" 이라는 alert 창을 띄우는데는 성공했는데

빈 인풋 " " 그대로 배열에 추가되어 빈 제목이 추가가 됩니다.

unshift 되는 값이 0 일 때 배열에 추가되는 것을 막아야 하는데 어떻게 해야 할까요..? 

 

답변 2개

채택된 답변
+20 포인트
input = input.replace(/\s/gi, "");

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

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

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

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

답변에 대한 댓글 1개

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

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

Copy
function empty() {

input = input.replace(/\s/gi, "");

if (input === "") {

alert("검색어 입력");

return false;

} else {

}

}

 

<button

onClick={() => {

let copy = [...글제목];

empty();

copy.unshift(input);

글수정(copy);

 

}}

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

답변에 대한 댓글 2개

우선 코드 감사합니다.
(/\s/gi, "") 가 의미하는것은 뭔가요???
input === " " 일 때
let [input, setInput] = useState("");
input 배열에 추가되는 것을 막고 싶은데

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

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

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

로그인
🐛 버그신고