首先小编先为大家分享一个比较好用的代码
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)); // => true
alert([1, 2, 3].contains('2')); // => false
下面是小编整理的几种方法
一个小误区 JS中的contains
在Java语言中,contains可以用于判断str1是否包含str2
原生JS中是有contains方法的
结构与测试代码如下
<div id="div1"> <div id="div2"> jb51.net </div> </div> <script type="text/javascript"> var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log(div1.contains(div2)); var str1="jb51.net"; var str2="jb51"; console.log(str1.contains(str2)); </script>
但它并不是字符串方法,,仅用于判断DOM元素的包含关系,参数是Element类型
若要在JS中判断俩字符串的包含关系,用indexOf()
但是我们可以通过扩展的方法来实现
<div id="div1"> <div id="div2"> jb51.net </div> </div> <script type="text/javascript"> var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log("div1.contains(div2)="+div1.contains(div2)); //字符扩展contains就不会报错了 String.prototype.contains = function(a) { return - 1 < this.indexOf(a) }; var str1="jb51.net"; var str2="jb51"; console.log("str1.contains(str2)="+str1.contains(str2)); //数组扩展contains适用于数组判断 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 }; var arr1=["jb51.net","jbzj.com","jb51.com"]; var str3="jb51.net"; console.log("arr1.contains(str3)="+arr1.contains(str3)); </script>
下面是运行结果
当然也有通过正则实现的JS扩展Array,添加contains方法
Array.prototype.contains = function(item){ return RegExp("\\b"+item+"\\b").test(this); };
直接返回true/false
JS判断Array数组中是否包含指定元素
1.调用方式:
var arr=["a","b"];
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<this.length && this[i]!=e; i++); return !(i==this.length); } 还有一个大牛是这样写的: 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)); }
站外扩展:
Jquery实现方式:http://api.jquery.com/jQuery.inArray/
具体选择看个人需求,小编建议能不用正则则不用,效率问题,代码是简洁就怕一些老的浏览器不支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]