编写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 ajax 同步异步的执行 return值不能取得的解决方案
Jan 08 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Sep 04 Javascript
JavaScript关于提高网站性能的几点建议(一)
Jul 24 Javascript
JavaScript数组迭代方法
Mar 03 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
May 23 Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 Javascript
JavaScript callback回调函数用法实例分析
May 08 Javascript
图文详解vue框架安装步骤
Feb 12 Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 Javascript
使用webpack和rollup打包组件库的方法
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
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python操作SQLite简明教程
2014/07/10 Python
简单介绍Python中的RSS处理
2015/04/13 Python
Python 通配符删除文件的实例
2018/04/24 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Django model class Meta原理解析
2020/11/14 Python
会计岗位职责
2013/11/08 职场文书
大学生找工作推荐信范文
2013/11/28 职场文书
电气工程自动化求职信
2014/03/14 职场文书
小学三年级学生评语
2014/04/22 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
优秀班组事迹材料
2014/12/24 职场文书
创业计划书之花店
2019/09/20 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis
Python语言中的数据类型-序列
2022/02/24 Python