⾸先⼩编先为⼤家分享⼀个⽐较好⽤的代码
Array.prototype.contains = function (a){
if (\"string\" == typeof a || \"number\" == typeof a) { for (var b in this) { if (a == this [b]) { return!0; }; } }
return!1};
先判断传⼊的参考是字符与数字才可以判断,这样就⽐较精准。下⾯是⼀些推荐资料可以看看
javascript的Array没有contains⽅法,有时候这会不⽅便,contains⽅法实现很简单:
function contains(a, obj) { var i = a.length; while (i--) {
if (a[i] === obj) { return true; } }
return false;}
当然我们也可以扩展Array类,如下js
Array.prototype.contains = function(obj) { var i = this.length; while (i--) {
if (this[i] === obj) { return true; } }
return false;}
这样就可以⽅便的使⽤contains⽅法了:
alert([1, 2, 3].contains(2)); // => truealert([1, 2, 3].contains('2')); // => false下⾯是⼩编整理的⼏种⽅法⼀个⼩误区 JS中的contains
在Java语⾔中,contains可以⽤于判断str1是否包含str2原⽣JS中是有contains⽅法的结构与测试代码如下
但它并不是字符串⽅法,,仅⽤于判断DOM元素的包含关系,参数是Element类型
若要在JS中判断俩字符串的包含关系,⽤indexOf()
但是我们可以通过扩展的⽅法来实现
下⾯是运⾏结果
当然也有通过正则实现的JS扩展Array,添加contains⽅法
Array.prototype.contains = function(item){ return RegExp(\"\\\\b\"+item+\"\\\\b\").test(this);
};
直接返回true/false
JS判断Array数组中是否包含指定元素1.调⽤⽅式:
var arr=[\"a\
alert(arr.in_array(\"a\"))
2.JS判断数组是否包含指定元素⽅法定义:
Array.prototype.contains = function(obj) { var i = this.length; while (i--) {
if (this[i] === obj) { return true; } }
return false;}或
Array.prototype.contains = function(element) { for (var i = 0; i < this.length; i++) { if (this[i] == element) { return true; } }
return false;}或
Array.prototype.in_array = function(e) { for(i=0; i 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));} 站外扩展: 具体选择看个⼈需求,⼩编建议能不⽤正则则不⽤,效率问题,代码是简洁就怕⼀些⽼的浏览器不⽀持。 因篇幅问题不能全部显示,请点此查看更多更全内容