编写js扩展方法判断一个数组中是否包含某个元素


Posted in Javascript onNovember 08, 2013

在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法。
我们可以利用js的原型扩展来封装一个我们自己的Contains方法。

js代码:

<script type="text/javascript"> 
$(function () { 
Array.prototype.contains = function (element) { //利用Array的原型prototype点出一个我想要封装的方法名contains 
for (var i = 0; i < this.length; i++) { 
if (this[i] == element) { //如果数组中某个元素和你想要测试的元素对象element相等,则证明数组中包含这个元素,返回true 
return true; 
} 
} 
} 
//用一个例子来验证一些我们封装的方法 
var $subCategoryID = $("#hidSubCategory").val(); 
var $subCategoryIDs = new Array(); //构造一个数组对象 
$subCategoryIDs = $subCategoryID.split(","); //为数组赋值 
$("input[type=radio]").each(function () { 
if ($subCategoryIDs.contains($(this).attr("id"))) { //利用contains方法判断数组中是否含有$(this).attr("id") 
$(this).attr("checked", true); 
} 
}) 
}) 
</script>

验证发现其实使用contains方法的数组对象不必显式声明,即上面代码中的斜体部分可以简写为:
var $subCategoryID = $("#hidSubCategory").val().split(",");
Javascript 相关文章推荐
一个对于js this关键字的问题
Jan 09 Javascript
Javascript insertAfter() 实现函数代码
Oct 12 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
使用jquery自定义鼠标样式满足个性需求
Nov 05 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
javascript实现des解密加密全过程
Apr 03 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
浅析JavaScript动画模拟拖拽原理
Dec 09 Javascript
js实现下拉框二级联动
Dec 04 Javascript
puppeteer实现html截图的示例代码
Jan 10 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 #Javascript
JQ获取动态加载的图片大小的正确方法分享
Nov 08 #Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 #Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 #Javascript
js去除空格的12种实用方法
Nov 08 #Javascript
js加载之使用DOM方法动态加载Javascript文件
Nov 08 #Javascript
javascript获取url上某个参数的方法
Nov 08 #Javascript
You might like
php实现zip文件解压操作
2015/11/03 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
JS控制表格隔行变色
2006/06/26 Javascript
基于jquery的一个图片hover的插件
2010/04/24 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
Seajs的学习笔记
2014/03/04 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
理解javascript闭包
2015/12/15 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解 Python 与文件对象共事的实例
2017/09/11 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
python tornado微信开发入门代码
2018/08/24 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python实现可变变量名方法详解
2019/07/01 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
pytorch中图像的数据格式实例
2020/02/11 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
满月酒主持词
2014/03/27 职场文书
维稳工作承诺书
2015/01/20 职场文书
答辩状格式范本
2015/05/22 职场文书
Golang日志包的使用
2022/04/20 Golang
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python