编写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 相关文章推荐
innerHTML 和 getElementsByName 在IE下面的bug 的解决
Apr 09 Javascript
javascript中的数字与字符串相加实例分析
Aug 14 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
javascript中的变量作用域以及变量提升详细介绍
Oct 24 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 Javascript
js数组去重的hash方法
Dec 22 Javascript
EsLint入门学习教程
Feb 17 Javascript
移动端效果之IndexList详解
Oct 20 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
cypress测试本地web应用
Jun 01 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
PHP asXML()函数讲解
2019/02/03 PHP
jquery 指南/入门基础
2007/11/30 Javascript
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
Nodejs--post的公式详解
2017/04/29 NodeJs
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
Javascript创建类和对象详解
2017/05/31 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
python如何为创建大量实例节省内存
2018/03/20 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
骨干教师培训感言
2014/01/16 职场文书
财务总监管理职责范文
2014/03/09 职场文书
大气污染防治方案
2014/05/19 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
大学生求职意向书
2015/05/11 职场文书
南极大冒险观后感
2015/06/05 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
基于Redis位图实现用户签到功能
2021/05/08 Redis