jquery源码阅读jQuery.inArray()
jQuery.inArray 函数用查找某个value在数组中的位置( Search for a specified value within an array and return its index (or -1 if not found).)
该API解释及例子在这里
inArray: function( elem, array, i ) { var len; if ( array ) { //indexOf :jQuery开始定义了 indexOf = Array.prototype.indexOf 如果有indexOf 方法则用改方法返回,核心为indexOf方法 if ( indexOf ) { return indexOf.call( array, elem, i ); } len = array.length; /* 注意该条语句是给i赋值用的,猛的一看该语句可能产生混淆 首先判断i的值,i ? (i < 0 ? Math.max( 0, len + i ) : i ): 0 如果 i 未定义 或者i为0 则 把0赋值给i 如果i 定义了并且不为0 执行 i < 0 ? Math.max( 0, len + i ) : i 如果i 为负数,加上则为其加上数组长度,且其值不能小于0 */ i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; for ( ; i < len; i++ ) { // Skip accessing in sparse arrays 这么判断主要是考虑数组下标不连续的情况注意学习这种方式 i in arry 的判断方式 if ( i in array && array[ i ] === elem ) { return i; } } } return -1; },
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: localStorage的基本用法
- 下一篇: 如何在前端用js判断一个元素在一个数组中是否存在