【问题标题】:jQuery inArray returning false when needle exists in haystack当大海捞针中存在针时,jQuery inArray返回false
【发布时间】:2018-04-18 12:58:30
【问题描述】:

我正在尝试检查用户代码是否存在于数组中。但是即使代码存在于数组中,jQuery 代码也会返回 false。

function isValidCode(code){
  var arr = [1, 2, 3];
  //return ($.inArray(code, arr) > -1);
  return ($.inArray(code, arr) !== -1);
}

function LuckWinner(key){
  if(isValidCode(key)){
    console.log(key+ ": is in array");
  } else {
    console.log(key+" is NOT in array");
  }
}

【问题讨论】:

标签: jquery arrays


【解决方案1】:

您的代码似乎按预期工作。

注意$.inArray()会进行类型比较;我希望你传递一个字符串。如果您正在测试一个字符串键,您的isValidCode 函数将返回false,因为您的数组只包含整数值。您可以使用parseInt 将代码转换为整数以避免此问题:

function isValidCode(code){
    var arr = [1, 2, 3];

    return ($.inArray( parseInt( code, 10 ), arr ) !== -1);
}

【讨论】:

  • @PhilipJems 很高兴能帮上忙。
  • @PhilipJems,如果这解决了问题,请标记为已解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多