Javascript 如何防止特定类型的元素存储在数组中?
我有一个代码,它有一个存储在数组中的用户输入号码。我想知道如何防止用户在数组中输入负数,并以红色(最好是输入下面的红色文本)显示他们不能输入负数 我能够得到数组,以确定将什么类型的整数放入带有if。。。else语句,但我似乎无法使数组从负数中弹出Javascript 如何防止特定类型的元素存储在数组中?,javascript,arrays,Javascript,Arrays,我有一个代码,它有一个存储在数组中的用户输入号码。我想知道如何防止用户在数组中输入负数,并以红色(最好是输入下面的红色文本)显示他们不能输入负数 我能够得到数组,以确定将什么类型的整数放入带有if。。。else语句,但我似乎无法使数组从负数中弹出 点击储存 常量myArray=[]; 常量addData=()=>{ 让inputData=document.getElementById('user_input'); push(parseInt(inputData.value)); log(my
点击储存
常量myArray=[];
常量addData=()=>{
让inputData=document.getElementById('user_input');
push(parseInt(inputData.value));
log(myArray);
if(inputData.value这里的问题是,在检查其类型之前,您在数组中推送值。您只需这样做,以防止负数进入数组:
const myArray = [];
const addData = () => {
let inputData = document.getElementById('user_input');
console.log(myArray);
if (inputData.value <= 0) {
console.log("negative int")
} else if (inputData.value == 0) {
console.log('nothing entered')
} else {
console.log("positive int")
myArray.push(parseInt(inputData.value));
}
inputData.value = "";
}
document.getElementById('myBtn').addEventListener('click', addData);
常量myArray=[];
常量addData=()=>{
让inputData=document.getElementById('user_input');
log(myArray);
如果(inputData.value,您可以获取数值并检查字符串是否给定,或者该值是否为整数值,或者是否为负数。然后您需要一个函数以特定颜色显示所需消息
此解决方案的特点是,函数接受条件并在满足条件时退出,以防止通过使用链式else…if…else
结构转到函数的自然端
简而言之,这种方法不需要else
部件,这在这里是可能的
const
myArray=[],
addData=()=>{
const setMessage=(字符串,颜色='#000000')=>{
message.style.color=颜色;
message.innerHTML=字符串;
}
让inputData=document.getElementById('user\u input'),
message=document.getElementById('message'),
value=+inputData.value;
如果(inputData.value==''){
setMessage('未输入','#bb0000');
返回;
}
inputData.value=“”;
如果(值!==数学地板(值)){
setMessage('no int','#bb0000');
返回;
}
如果(值或,非常简单