JavaScript增强数组函数之indexOf

Javascript 的字符串有个 indexOf 的方法,JavaScript 1.6 array(数组)也引入该方法 – array.indexOf。
语法

var index = array.indexOf(searchElement[, fromIndex]);

参数说明

searchElement: 要搜索的元素

fromIndex : 开始搜索的位置,默认为 0 ,在这样的情况下,将搜索所有的数组元素。如果传入的值大于或等于数组的范围(length),将返回 -1 ,在这样的情况下,搜索操作将不被执行。如果传入的值小于 0 ,仍然会搜索整个数组。

功能说明

比较 searchElement 和数组的每个元素是否绝对一致(===),当有元素符合条件时,返回当前元素的索引。如果没有发现,就直接返回 -1 。

在不支持此属性的浏览器下可以用下面的代码:

// 说明:Javascript Array 的 indexOf() 方法
// 整理:http://www.hujuntao.com
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (elem) {
        var len = this.length;
        var i = Number(arguments[1]) || 0;
        i = (i < 0) ? Math.ceil(i) : Math.floor(i);
        if (i < 0) i += len;
        for (; i < len; i++) {
            if (this[i] === elem) {
                return i;
            }
        }
        return -1;
    }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注