编写js扩展方法判断一个数组中是否包含某个元素
在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法。
我们可以利用js的原型扩展来封装一个我们自己的Contains方法。
<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(",");
相关推荐
-
js删除Array数组中指定元素的两种方法
本节内容: js删除Array数组中指定元素 方法一, /* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=
-
JavaScript从数组中删除指定值元素的方法
本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单 定义函数removeByValue进行元素删除 function removeByValue(arr, val) { for(var i=0; i<arr.length; i++) { if(arr[i] == val) { arr.splice(i,
-
js获取数组的最后一个元素
在js里面如何获取一个数组的最后一个元素呢?这里总结了两种方法,有需要的朋友可以看看. (1)js内置pop方法 pop() 方法用于删除并返回数组的最后一个元素,注意这里在获取了数组的最后一个元素的同时也将原数组的最后一个元素给删除了.如果数组已经为空,则该方法不改变数组,并返回 undefined 值,如: <script> var args=new Array(['www'],['jb51'],['net']); alert(args.pop());//net </script&g
-
向JavaScript的数组中添加元素的方法小结
在数组的开头添加新元素 - unshift() 源代码: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to add elements to the array.</p> <button onclick="myFunction()">Try it</button> <script> function
-
js数组循环遍历数组内所有元素的方法
例,for(){}遍历数组 复制代码 代码如下: <script type="text/javascript"> <!--var arr = new Array(13.5,3,4,5,6);for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0;}alert(arr); //--> </script> 例,for in循环遍历数组 复制代码 代码如下: <html><body>
-
js删除数组元素、清空数组的简单方法(必看)
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置. 三,js 删除数组几种方法 var arr=['a','b','c
-
JavaScript数组Array对象增加和删除元素方法总结
本文实例总结了JavaScript数组Array对象增加和删除元素方法.分享给大家供大家参考.具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素. arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 如果该数组为空,那么将返回 undefined. shift 方法 移除数组中的第一个元素并返回该元素. arrayObj.shift( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 shift 方法可移除数组中的第一
-
用JS编写一个函数,返回数组中重复出现过的元素(实例)
用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: var arr = [1, 2, 3, 1, 2, 3, 4, 5]; var getRepeat = function (arr) { var obj = {}; for (var i = 0, len = arr.length; i < len; i++) { if (obj[arr[i]] == undefined) { obj[arr[i]] = 1; } else { obj[arr[i]]++; } } for (var
-
js获取对象、数组的实际长度,元素实际个数的实现代码
js获取对象.数组的实际长度,元素实际个数的实现代码 /*获取对象.数组的长度.元素个数 *@param obj 要计算长度的元素,可以为object.array.string */ function count(obj){ var objType = typeof obj; if(objType == "string"){ return obj.length; }else if(objType == "object"){ var objLen = 0; for(v
-
JS获取数组中出现次数最多及第二多元素的方法
本文实例讲述了JS获取数组中出现次数最多及第二多元素的方法.分享给大家供大家参考,具体如下: 整型数组中出现次数最多和第二多的元素 用哈希数组 function f(arr){ var i; var length=arr.length; var hash=[];//使用哈希数组 for(i=0;i<length;i++){ if(!hash[arr[i]])hash[arr[i]]=1;//没有初始化的数组元素为undefined,undefined++为NaN else hash[arr[i]
随机推荐
- AngularJS的表单使用详解
- 探秘ajax跨域请求
- java数据结构之java实现栈
- Java 动态代理与CGLIB详细介绍
- java泛型学习示例
- 解决Oracle删除重复数据只留一条的方法详解
- javascript判断复选框是否选中的方法
- Web系统通过EXE文件实现读取客户电脑MAC等硬件信息且兼容非IE浏览器
- 第六节 访问属性和方法 [6]
- python脚本设置系统时间的两种方法
- Python打造出适合自己的定制化Eclipse IDE
- VML应用实例大全
- JavaScript常用对象的方法和属性小结
- JS完整获取IE浏览器信息包括类型、版本、语言等等
- asp.net mvc实现简单的实时消息推送
- js 重构Array的sort排序方法
- 三种Web开发主流技术的性价评价
- Java设计模式之装饰者模式详解和代码实例
- 记录mysql性能查询过程的使用方法
- Android下的CMD命令之关机重启及重启recovery