javascript – Crossbrowser“inArray”函数(不带jQuery)

前端之家收集整理的这篇文章主要介绍了javascript – Crossbrowser“inArray”函数(不带jQuery)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道 array.indexOf()错误的crossbrowser兼容性.但是现在我,我需要找到一种方法来实现相同的东西,但不使用以前的方法.

我尝试了谷歌搜索一段时间,但没有找到真正有说服力的答案.现在,我正在使用循环(但这很慢,我相信有更好的方法)

附注:

>我不能使用jQuery或任何其他库/框架.
>它不一定需要返回索引(简单地为true / false)
会好的)

我认为没有必要共享我的代码,因为你们都知道数组循环检查是什么样的(加上它会降低你的智商)

解决方法

以下是如何在jQuery中实现inArray:
function inArray(elem,array,i) {
    var len;
    if ( array ) {
        if ( array.indexOf ) {
            return array.indexOf.call( array,elem,i );
        }
        len = array.length;
        i = i ? i < 0 ? Math.max( 0,len + i ) : i : 0;
        for ( ; i < len; i++ ) {
            // Skip accessing in sparse arrays
            if ( i in array && array[ i ] === elem ) {
                return i;
            }
        }
    }
    return -1;
}

你不能使用jQuery,但为什么不使用他们的实现?

猜你在找的jQuery相关文章