0
返回值的ID可以說我在JavaScript中有如下數組:匹配的字符串數組中的一個值,並在JavaScript
var skins = new Array('Light', 'Medium', 'Dark');
我怎麼會去檢查,看看有什麼ID在數組(0,1或2)與我給它的字符串具有匹配的值。因此,舉例來說,如果我看「中」的字符串,我應該返回的ID 1.
返回值的ID可以說我在JavaScript中有如下數組:匹配的字符串數組中的一個值,並在JavaScript
var skins = new Array('Light', 'Medium', 'Dark');
我怎麼會去檢查,看看有什麼ID在數組(0,1或2)與我給它的字符串具有匹配的值。因此,舉例來說,如果我看「中」的字符串,我應該返回的ID 1.
您可以使用Array.indexOf:
var index = skins.indexOf('Medium'); // 1
此功能在JavaScript 1.6已經出臺,但你可以包括它以與舊版瀏覽器兼容。
下面是火狐使用的算法:
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;
};
}
Array.prototype.lastIndex= function(what){
var L= this.length;
while(L){
if(this[--L]=== what) return L;
}
return -1;
}
Array.prototype.firstIndex= function(what){
var i=0, L= this.length;
while(i<L){
if(this[i]=== what) return i;
++i;
}
return -1;
}
看看是:http://stackoverflow.com/questions/1137436/useful-javascript-methods-that-extends-built -in-對象/ 1137481#1137481 – Canavar 2009-09-07 21:20:26