2017-04-10 55 views
0

字符串我试图搜索array.indexOf(字符串)数组中的keycode;方法,但即使我正在搜索的键码在数组中声明,它无法找到它并返回-1我在哪里误会?javascript搜索与indexOf

Console Screenshot

PS:但是当我试图声明,我试图手动搜索字符串(如VAR字符串=“219”),它的工作。

PS-2:正如你可以在控制台中看到我日志的变量tusASII确保变量的确有正确的值来搜索

var tusASII = event.keyCode; 
 
var trkarakterler = ["219","221","186","73","191","220"]; 
 
console.log(tusASII); 
 
console.log(trkarakterler.indexOf(tusASII));

+1

'keyCode'不是一个字符串,它是一个数字。 – Bergi

+0

console.log(trkarakterler.indexOf(tusASII +'')); 但是,如果您改为使用数字值,则效果会更好...... :) –

回答

3

有一种类型不匹配。数组应包含数字,像这样:

var trkarakterler = [219, 221, 186, 73, 191, 220]; 

的想法是,键码是数字,而不是字符串。

+1

或者,将搜索词转换为字符串。 – James

+0

哦,非常感谢 –

+1

为了更加准确,JavaScript中没有整数。变量类型是“数字”。 – cezar