編寫js擴(kuò)展方法判斷一個(gè)數(shù)組中是否包含某個(gè)元素
更新時(shí)間:2013年11月08日 17:13:07 作者:
判斷集合是否包含某個(gè)元素我們可以利用js的原型擴(kuò)展來封裝一個(gè)我們自己的Contains方法,具體思路及實(shí)現(xiàn)如下,感興趣的朋友可以參考下
在C#語法中判斷集合是否包含某個(gè)元素可以使用Contains方法,但是類似的問題在javascript中要怎么處理呢,js中沒有Contains方法。
我們可以利用js的原型擴(kuò)展來封裝一個(gè)我們自己的Contains方法。
js代碼:
<script type="text/javascript">
$(function () {
Array.prototype.contains = function (element) { //利用Array的原型prototype點(diǎn)出一個(gè)我想要封裝的方法名contains
for (var i = 0; i < this.length; i++) {
if (this[i] == element) { //如果數(shù)組中某個(gè)元素和你想要測試的元素對(duì)象element相等,則證明數(shù)組中包含這個(gè)元素,返回true
return true;
}
}
}
//用一個(gè)例子來驗(yàn)證一些我們封裝的方法
var $subCategoryID = $("#hidSubCategory").val();
var $subCategoryIDs = new Array(); //構(gòu)造一個(gè)數(shù)組對(duì)象
$subCategoryIDs = $subCategoryID.split(","); //為數(shù)組賦值
$("input[type=radio]").each(function () {
if ($subCategoryIDs.contains($(this).attr("id"))) { //利用contains方法判斷數(shù)組中是否含有$(this).attr("id")
$(this).attr("checked", true);
}
})
})
</script>
驗(yàn)證發(fā)現(xiàn)其實(shí)使用contains方法的數(shù)組對(duì)象不必顯式聲明,即上面代碼中的斜體部分可以簡寫為:
var $subCategoryID = $("#hidSubCategory").val().split(",");
我們可以利用js的原型擴(kuò)展來封裝一個(gè)我們自己的Contains方法。
js代碼:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$(function () {
Array.prototype.contains = function (element) { //利用Array的原型prototype點(diǎn)出一個(gè)我想要封裝的方法名contains
for (var i = 0; i < this.length; i++) {
if (this[i] == element) { //如果數(shù)組中某個(gè)元素和你想要測試的元素對(duì)象element相等,則證明數(shù)組中包含這個(gè)元素,返回true
return true;
}
}
}
//用一個(gè)例子來驗(yàn)證一些我們封裝的方法
var $subCategoryID = $("#hidSubCategory").val();
var $subCategoryIDs = new Array(); //構(gòu)造一個(gè)數(shù)組對(duì)象
$subCategoryIDs = $subCategoryID.split(","); //為數(shù)組賦值
$("input[type=radio]").each(function () {
if ($subCategoryIDs.contains($(this).attr("id"))) { //利用contains方法判斷數(shù)組中是否含有$(this).attr("id")
$(this).attr("checked", true);
}
})
})
</script>
驗(yàn)證發(fā)現(xiàn)其實(shí)使用contains方法的數(shù)組對(duì)象不必顯式聲明,即上面代碼中的斜體部分可以簡寫為:
復(fù)制代碼 代碼如下:
var $subCategoryID = $("#hidSubCategory").val().split(",");
相關(guān)文章
小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版
這篇文章主要介紹了小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04JavaScript中子函數(shù)訪問外部變量的3種解決方法
任何在函數(shù)中定義的變量,都可認(rèn)為是私有變量,因?yàn)椴荒茉诤瘮?shù)外部訪問這些變量,這篇文章主要給大家介紹了關(guān)于JavaScript中子函數(shù)訪問外部變量的3種解決方法,需要的朋友可以參考下2021-06-06JS如何判斷瀏覽器類型和詳細(xì)區(qū)分IE各版本瀏覽器
本篇文章主要介紹了JS判斷瀏覽器類型和詳細(xì)區(qū)分IE各版本瀏覽器的代碼,非常具有實(shí)用價(jià)值,有興趣的可以了解一下。2017-03-03JavaScript動(dòng)態(tài)修改彈出窗口大小的方法
這篇文章主要介紹了JavaScript動(dòng)態(tài)修改彈出窗口大小的方法,涉及javascript中window.open方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04javascript 返回?cái)?shù)組中不重復(fù)的元素
返回?cái)?shù)組中不重復(fù)的元素的js實(shí)現(xiàn)代碼。2009-12-12手機(jī)端網(wǎng)頁點(diǎn)擊鏈接觸發(fā)自動(dòng)撥打或保存電話的示例代碼
通過網(wǎng)頁撥打電話,在點(diǎn)擊鏈接時(shí)觸發(fā)自動(dòng)撥打或保存電話,此方法塞班、安卓與iphone都支持2014-08-08javascript中字符串替換函數(shù)replace()方法與c# 、vb 替換有一點(diǎn)不同
JavaScript 不像和c# vb.net 中一樣 直接就可以替換所以的要替換的字符2010-06-06詳解JavaScript數(shù)據(jù)類型和判斷方法
這篇文章主要介紹了JavaScript數(shù)據(jù)類型和判斷方法的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-09-09