javascript - 无论用户输入如何,我的输出始终是数组中的第一项

标签 javascript jquery

我的代码应该根据用户输入的整数响应数组中的项目,无论用户输入如何,响应始终是数组中的第一项。我现在正在上课第三周,如果没有很好地表达的话,我很抱歉。我的代码是:

// business logic

var responseSet = [[1, 'Beep!'], [2, 'Boop!'],[3, "won't you be my neighbor?"]];

var numChecker = function(number) {
  if (number === parseInt(number)) {
    return true; 
  } else {
    return false;
  }
}

var response = function(number) {
  for (var i =0; i < responseSet.length; i++) {
    if (number = responseSet[i][0]) {
      console.log(number)
    return responseSet[i][1];
    } else {
      return number;
    }
  }
}



//UI logic
$(document).ready(function() {
  $("#converter").submit(function(event) {
    event.preventDefault();
    var userInput = parseInt($("#number").val());

    if (numChecker(userInput) === true){
      result = response(userInput)
    } else {
      result = "Beep, boop, This isn't a number try again"
    }
    ```

最佳答案

你已经写了

if (number = responseSet[i][0]) {

您正在设置变量的值(这是一个真值)而不是进行比较,正确的结果应该是:

if (number == responseSet[i][0]) {

关于javascript - 无论用户输入如何,我的输出始终是数组中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61017979/

相关文章:

javascript - jQuery 与 AngularJS 与 Node.js 之间的区别

javascript - 将对象从 View /JavaScript传递到MVC操作

javascript - 向 everyauth 添加另一个步骤的最佳方法是什么?

javascript - 尝试使我的 JS 正则表达式能够匹配多个 unicode 字符集

javascript - 外部 js 文件中的 Google Analytics 不报告

jQuery 将其他 div 中的图像 append 到选定的 div

javascript - 2 个单独的 div 容器 - 链接在第一个 div 容器中使用与在第二个 div 容器中相同的事件状态

javascript - Meteor 的电子邮件未定义

javascript - AngularJS 服务的另一个 'Unknown provider'

javascript - 在滚动和单击时更改导航文本颜色