【发布时间】:2011-01-28 07:36:38
【问题描述】:
var fruits = [ 'apple', 'banana', 'orange' ];
如何找到值“香蕉”的索引是什么? (当然是“1”)。
谢谢
【问题讨论】:
-
糟糕,我将您的帖子标题误读为“如何获取数组中的项目数”。很好,你现在说得更清楚了。
标签: javascript arrays indexing
var fruits = [ 'apple', 'banana', 'orange' ];
如何找到值“香蕉”的索引是什么? (当然是“1”)。
谢谢
【问题讨论】:
标签: javascript arrays indexing
如图所示:https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/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;
};
}
用法:
var fruits = [ 'apple', 'banana', 'orange' ];
var index = fruits.indexOf('banana');
将返回“1”
【讨论】:
length 值是 32 位无符号整数(所有位运算符在内部都使用 32 位整数)...
没有内置属性可以返回特定项目的索引。如果你需要一个函数,那么你可以使用 durilai 定义的原型函数。但是如果你只需要找到索引,你可以使用这个简单的代码块来返回值:
for (var i=0; i<fruits.length; i++)
{
if (fruits[i] == "banana")
{
alert(i);
}
}
【讨论】: