2011-11-22 4 views

ответ

7

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

var index = numberArray.indexOf(chosenNumber); 
+0

так просто. так чисто +1. (мой разум шел очень далеко, а не этот простой ...) –

1

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

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

numberArray.indexOf(chosenNumber); // 2 

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

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

Если бы создать новый объект, который наследует от Array.prototype, а также дать ему length свойство, тада, мы только что создали массив JavaScript.

+0

Для не найден возвращается -1, а не 'undefined'. – manatwork

+0

@manatwork: вы правы, сэр, исправил это. – jAndy

Смежные вопросы