编写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 相关文章推荐
键盘控制事件应用教程大全
Nov 24 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
Mar 08 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
Javascript图像处理—为矩阵添加常用方法
Dec 27 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
javascript 终止函数执行操作
Feb 14 Javascript
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
Sep 10 Javascript
从原生JavaScript到React深入理解
Jul 23 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
三种php连接access数据库方法
2013/11/11 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
产品发布会策划方案
2014/05/12 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
安全月宣传标语
2014/10/07 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
宣传委员竞选稿
2015/11/19 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript
golang 接口嵌套实现复用的操作
2021/04/29 Golang
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
Redis分布式锁的7种实现
2022/04/01 Redis
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python