jQuery inArray 在大海捞针中存在时返回 false



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

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

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

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

最新更新