Javascript сравнить один int с массивом int - PullRequest
2 голосов
/ 22 ноября 2011

У меня есть две переменные вроде этого:

var numberArray = [0,10,20,30,40,50];
var chosenNumber = 20;

Как сравнить chosenNumber с numberArray для доступа к его ключу в массиве ([2])?

Ответы [ 2 ]

7 голосов
/ 22 ноября 2011

Я думаю, вы можете использовать indexOf:

var index = numberArray.indexOf(chosenNumber);
1 голос
/ 22 ноября 2011

Я не совсем уверен, чего вы пытаетесь достичь, но, похоже, вы хотите получить индекс?

Если это так, используйте .indexOf() как

numberArray.indexOf( chosenNumber ); // 2

Если вы передаете значение в .indexOf(), которое не может быть найдено в массиве, вместо этого возвращается -1. Поскольку Arrays в ECMAscript - это просто «специальные» объекты, каждый ключ за значением является просто числовым индексом.

numberArray = {
    0: 0,
    1: 10,
    2: 20,
    3: 30 // and so forth
};

Если бы мы создали новый объект, который наследуется от Array.prototype, а также присвоили бы ему свойство length, tada, мы бы просто создали массив Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...