编写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 插件开发笔记整理
Jan 17 Javascript
js实现特定位取反原理及示例
Jun 30 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
全面解析Bootstrap手风琴效果
Apr 17 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
Jun 24 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
Jul 18 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
全面解析node 表单的图片上传
Nov 21 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
JS中利用FileReader实现上传图片前本地预览功能
Mar 02 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
解决vue 退出动画无效的问题
Aug 09 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Python Property属性的2种用法
2015/06/21 Python
Python多线程下载文件的方法
2015/07/10 Python
python实现基本进制转换的方法
2015/07/11 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
python 实现屏幕录制示例
2019/12/23 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
人事主管的岗位职责
2013/11/16 职场文书
九年级历史教学反思
2014/01/27 职场文书
大学班级文化建设方案
2014/05/06 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
世界红十字日活动总结
2015/02/10 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers