编写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实现的网页颜色代码表全集
Jul 17 Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
深入剖析JavaScript面向对象编程
Jul 12 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
JS实现旋转木马式图片轮播效果
Jan 18 Javascript
JavaScript学习笔记之函数记忆
Sep 06 Javascript
vue组件中使用props传递数据的实例详解
Apr 08 Javascript
利用npm 安装删除模块的方法
May 15 Javascript
浅谈VUE单页应用首屏加载速度优化方案
Aug 28 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 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 数据库树的遍历方法
2009/02/06 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
土木工程毕业生自荐信
2013/11/12 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
校外活动方案
2014/08/28 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
趣味运动会赞词
2015/07/22 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
以下牛机,你有几个
2022/04/05 无线电