日期:2014-05-16  浏览次数:20445 次

JS判断数组是否包含某个元素
JavaScript in_array - php.js
判断js数组包是否包含某个元素

实现这种功能的函数写法比较多,其中有一种是下面这种写法
Array.prototype.S = String.fromCharCode(2);
Array.prototype.in_array = function(e) {
    var r = new RegExp(this.S+e+this.S);
    return (r.test(this.S+this.join(this.S)+this.S));
};



把要比较的字符前后都加一个字符,变成去比较三个字符这样就防止了恰好传入join方法的分隔符也是这个字符导致比较结果不准确


调用方法如下

var times = 100000;
var la = [];
for(var i = 0; i < times; i ++) {
    la[i] = i + 1;
}

// la.length

la.in_array(453)