尝试从数组中删除所有非数字

时间:2019-05-26 06:04:23

标签: javascript arrays

我正在尝试获取用户输入,然后将其输入到数组中,但是,如果用户输入的元素不是数字,该如何删除呢?我可以显示一条错误消息,但是该元素仍然进入数组。

      var input_array = [];

      var number = prompt('Enter a Number');
      if (isNaN(number)) {
        alert("Please Enter a Number");
      }
      var array = input_array.push(parseInt(number));

2 个答案:

答案 0 :(得分:0)

只需将push放在else内。还要注意,push返回数组的新长度-因此,array在您的代码中将是1

var input_array = [];

var number = prompt('Enter a Number');
if (isNaN(number)) {
  alert("Please Enter a Number");
} else {
  input_array.push(parseInt(number));
}

console.log(input_array);

答案 1 :(得分:0)

这是使用三元运算符的一种巧妙方法。如果输入是数字,则仅将其添加到数组。

var input_array = [];
var number = prompt('Enter a Number');
isNaN(number) ? alert('Please Enter a number'): input_array.push(number);

还提示返回一个字符串,因此如果您希望数组仅包含数字。读取输入时使用parseInt

var number = parseInt(prompt('Enter a Number'));