编写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 判断浏览器类型及版本
Feb 21 Javascript
JavaScript 无符号右移赋值操作
Apr 17 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
Apr 26 Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 Javascript
微信小程序实现发微博功能的示例代码
Jun 24 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php实现图片上传时添加文字和图片水印技巧
2020/04/18 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
详解Python中的Descriptor描述符类
2016/06/14 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
解读python如何实现决策树算法
2018/10/11 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python logging模块的使用总结
2019/07/09 Python
python处理RSTP视频流过程解析
2020/01/11 Python
如何把python项目部署到linux服务器
2020/08/26 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
中软国际Java程序员笔试题
2014/07/19 面试题
大学生心理活动总结
2014/07/04 职场文书
高中生旷课检讨书
2014/10/08 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
如何在Python项目中引入日志
2021/05/31 Python