JavaScript增强数组函数之inArray

了解 PHP和jQuery 的朋友都知道, PHP 里面有个函数叫”in_array”,jQuery里面叫inArray,在javascript1.6 引入了几个新的Array 方法,其中一个indexOf和inArray类似。inArray函数用于检查数组中是否存在某个值,如果存在就返回值所在的位置,如果不存在就返回false。

// 说明:Javascript Array 的 inArray() 方法
// 整理:http://www.hujuntao.com
Array.prototype.inArray = function (elem) {
indexOf = Array.prototype.indexOf
if (!this) {
return -1;
}
//javascript 1.6 
if (indexOf) {
return indexOf.call(this, elem);
}
for (var i = 0, length = this.length; i < length; i++) {
if (this[i] === elem) {
return i;
}
}
return -1;
}
//or
inArray = function (elem, array) {
indexOf = Array.prototype.indexOf
if (!array) {
return -1;
}
//javascript 1.6 
if (indexOf) {
return indexOf.call(array, elem);
}
for (var i = 0, length = array.length; i < length; i++) {
if (array[i] === elem) {
return i;
}
}
return -1;
}

//demo
var arr = ["foot", "goose", "moose"]; 
alert(arr.inArray("goose")) //1
alert(inArray("goose",arr)) //1
alert(arr.inArray("good")) //-1
alert(inArray("good",arr)) //-1

“JavaScript增强数组函数之inArray”的2个回复

发表评论

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