编写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 相关文章推荐
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
将Datatable转化成json发送前台实现思路
Sep 06 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
js实现可控制左右方向的无缝滚动效果
May 29 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
Html中 IFrame的用法及注意点
Dec 22 Javascript
jQuery点击导航栏选中更换样式的实现代码
Jan 23 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 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页面中文乱码分析
2013/10/29 PHP
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
python 创建弹出式菜单的实现代码
2017/07/11 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python中format()格式输出全解
2019/04/12 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
python批量解压zip文件的方法
2019/08/20 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
模具设计与制造专业求职信
2014/07/19 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
婚前协议书范本
2014/10/27 职场文书
出差报告怎么写
2014/11/06 职场文书
培训督导岗位职责
2015/04/10 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
十个Python自动化常用操作,即拿即用
2021/05/10 Python
python游戏开发Pygame框架
2022/04/22 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers