首页 > 解决方案 > 当我在输入中输入一个数字时,第一个函数开始

问题描述

我正在设置一个新服务器,并希望在我的 Web 应用程序中完全支持 UTF-8。当我在输入中输入一个数字时,第一个功能就会启动!首先,如果循环检查输入是否输入了字母,如果我输入打印输出的字母,则定义数组。如果我输入数字“1”,则数组向后打印!问题:如果我在输入中输入数字 1,则执行第一个和第二个循环,我只希望执行函数 2。

arrayfunction = () => {

  var numbers = [1, 2, 5, 7, 14];
  var text = document.getElementById('text').value;

  if (text.toLowerCase() && text.toUpperCase()) {
    console.log(numbers);

  }
  if (text === "1") {
    console.log(numbers.reverse()); //function 2
  }
  if (text === "2") {
    console.log(numbers.splice(1, 3)) // function 3
  }
  if (text === "0") { //function 4
    for (var i = 0; i < numbers.length; i++) {
      numbers[i] = numbers[i] * 2;
    }
    console.log(numbers);
  }

}
<input type="text" id='text' onchange="arrayfunction(this.value)">

标签: javascripthtml

解决方案


要检查它是否不是数字,您需要使用 isNaN() 方法。它检查它是否不是数字。所以你的代码可以改成这样:

arrayfunction = () => {

  var numbers = [1, 2, 5, 7, 14];
  var text = document.getElementById('text').value;

  if (isNaN(text)) {
    console.log(numbers);

  }
  if (text === "1") {
    console.log(numbers.reverse()); //function 2
  }
  if (text === "2") {
    console.log(numbers.splice(1, 3)) // function 3
  }
  if (text === "0") { //function 4
    for (var i = 0; i < numbers.length; i++) {
      numbers[i] = numbers[i] * 2;
    }
    console.log(numbers);
  }

}
<input type="text" id="text" onchange="arrayfunction(this.value)">


推荐阅读