编写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 相关文章推荐
JavaScript 编程引入命名空间的方法
Jun 29 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
jQuery异步提交表单的两种方式
Sep 13 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
js指定步长实现单方向匀速运动
Jul 17 Javascript
实例讲解JavaScript截取字符串
Nov 30 Javascript
详解一个小实例理解js原型和继承
Apr 24 Javascript
解决Layui中layer报错的问题
Sep 03 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
10 个经典PHP函数
2013/10/17 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
带你认识Django
2019/01/15 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
实例代码讲解Python 线程池
2020/08/24 Python
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
夜大自我鉴定
2013/10/31 职场文书
《春天来了》教学反思
2014/04/07 职场文书
教师个人自我评价范文
2014/04/13 职场文书
2014年终个人工作总结
2014/11/07 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL