2010-05-10 46 views

回答

3

你需要調用indexOf,像這樣:

var index = someArray.indexOf(value); 

由於IE沒有indexOf,你需要自己做它:

if (!Array.prototype.indexOf) { 
    Array.prototype.indexOf = function(elt /*, from*/) { 
     var len = this.length >>> 0; 

     var from = Number(arguments[1]) || 0; 
     from = (from < 0) ? Math.ceil(from) : Math.floor(from); 

     if (from < 0) 
      from += len; 

     for (; from < len; from++) { 
      if (from in this && this[from] === elt) 
       return from; 
     } 
     return -1; 
    }; 
} 
+2

工作那不是lastIndexOf? – 2010-05-10 12:22:31

+0

已修復;謝謝。 – SLaks 2010-05-10 12:23:56

+3

這裏是indexOf方法的FF實現https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf#Compatibility – Amarghosh 2010-05-10 12:30:19

0
var array = ['a', 'b', 'c']; 
// The following line returns the zero-based index of 'c' 
array.indexOf('c'); // 2 
// If the element is not found in the array, -1 is returned: 
array.indexOf('z'); // -1 

可悲的是,Array#indexOf本機不支持Internet Explorer。請參閱SLaks的工作回退的答案!

+0

IE不支持 – Matt 2010-05-10 12:22:24

相關問題