編寫js擴展方法判斷一個數(shù)組中是否包含某個元素
更新時間:2013年11月08日 17:13:07 作者:
判斷集合是否包含某個元素我們可以利用js的原型擴展來封裝一個我們自己的Contains方法,具體思路及實現(xiàn)如下,感興趣的朋友可以參考下
在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) { //如果數(shù)組中某個元素和你想要測試的元素對象element相等,則證明數(shù)組中包含這個元素,返回true
return true;
}
}
}
//用一個例子來驗證一些我們封裝的方法
var $subCategoryID = $("#hidSubCategory").val();
var $subCategoryIDs = new Array(); //構(gòu)造一個數(shù)組對象
$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>
驗證發(fā)現(xiàn)其實使用contains方法的數(shù)組對象不必顯式聲明,即上面代碼中的斜體部分可以簡寫為:
var $subCategoryID = $("#hidSubCategory").val().split(",");
我們可以利用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) { //如果數(shù)組中某個元素和你想要測試的元素對象element相等,則證明數(shù)組中包含這個元素,返回true
return true;
}
}
}
//用一個例子來驗證一些我們封裝的方法
var $subCategoryID = $("#hidSubCategory").val();
var $subCategoryIDs = new Array(); //構(gòu)造一個數(shù)組對象
$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>
驗證發(fā)現(xiàn)其實使用contains方法的數(shù)組對象不必顯式聲明,即上面代碼中的斜體部分可以簡寫為:
復制代碼 代碼如下:
var $subCategoryID = $("#hidSubCategory").val().split(",");
相關(guān)文章
JavaScript中子函數(shù)訪問外部變量的3種解決方法
任何在函數(shù)中定義的變量,都可認為是私有變量,因為不能在函數(shù)外部訪問這些變量,這篇文章主要給大家介紹了關(guān)于JavaScript中子函數(shù)訪問外部變量的3種解決方法,需要的朋友可以參考下2021-06-06手機端網(wǎng)頁點擊鏈接觸發(fā)自動撥打或保存電話的示例代碼
通過網(wǎng)頁撥打電話,在點擊鏈接時觸發(fā)自動撥打或保存電話,此方法塞班、安卓與iphone都支持2014-08-08javascript中字符串替換函數(shù)replace()方法與c# 、vb 替換有一點不同
JavaScript 不像和c# vb.net 中一樣 直接就可以替換所以的要替換的字符2010-06-06詳解JavaScript數(shù)據(jù)類型和判斷方法
這篇文章主要介紹了JavaScript數(shù)據(jù)類型和判斷方法的相關(guān)資料,幫助大家更好的理解和學習JavaScript,感興趣的朋友可以了解下2020-09-09