当针存在于haystack中时,jQuery inArray返回false

时间:2017-11-06 11:13:58

标签: jquery arrays

我正在尝试检查数组中是否存在用户代码。但即使代码存在于数组中,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");
  }
}

1 个答案:

答案 0 :(得分:2)

您的代码似乎正常运作。

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

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

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