编写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 相关文章推荐
JQuery中html()方法使用不当带来的陷阱
Apr 07 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
jQuery 快速结束当前正在执行的动画
Nov 20 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
Vue实现virtual-dom的原理简析
Jul 10 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
Apr 19 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
Nov 25 Javascript
js Array.slice的8种不同用法示例
Jul 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中转义mysql语句的实现代码
2011/06/24 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
javascript运动详解
2015/07/06 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python模块搜索路径代码详解
2018/01/29 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
python 两个数据库postgresql对比
2019/10/21 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
python 读取、写入txt文件的示例
2020/09/27 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
擅自离岗检讨书
2014/02/11 职场文书
高中家长寄语
2014/04/02 职场文书
国旗下演讲稿
2014/05/08 职场文书
离婚起诉书范本
2015/05/18 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
小学同学聚会感言
2015/07/30 职场文书
golang 实现Location跳转方式
2021/05/02 Golang