您好,登錄后才能下訂單哦!
這篇文章主要介紹“jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能”,在日常操作中,相信很多人在jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
JS是JavaScript的簡(jiǎn)稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發(fā),可以給網(wǎng)站添加各種各樣的動(dòng)態(tài)效果,讓網(wǎng)頁更加美觀。
一個(gè)小誤區(qū) JS中的contains
今天想要用JS判斷集合中是否包含另一個(gè)集合。
發(fā)現(xiàn),Contains并不能達(dá)到所要的效果,查找之后發(fā)現(xiàn)了問題
原來,js的contains方法用來查看dom元素的包含關(guān)系,并不是Java中數(shù)組的contains方法。
先看一下duyunchao同學(xué)分享的代碼
$(document).ready(function() { var Arrays = ['11','22','33']; var Array ='11'; if(Arrays.indexOf(Array) >= 0) { alert('Arrays中包含Array'); } });
若js要判斷數(shù)組的包含關(guān)系,應(yīng)該用indexof
原生JS中是有contains方法的,但只有dom元素的包含關(guān)系,這里億速云就為大家分享一下擴(kuò)展的字符string與數(shù)組arr的擴(kuò)展代碼
結(jié)構(gòu)與測(cè)試代碼如下
<div id="div1"> <div id="div2"> jb51.net </div> </div> <script type="text/javascript"> var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log(div1.contains(div2)); var str1="jb51.net"; var str2="jb51"; console.log(str1.contains(str2)); </script>
但它并不是字符串方法,,僅用于判斷DOM元素的包含關(guān)系,參數(shù)是Element類型
若要在JS中判斷倆字符串的包含關(guān)系,用indexOf()
但是我們可以通過擴(kuò)展的方法來實(shí)現(xiàn)
<div id="div1"> <div id="div2"> jb51.net </div> </div> <script type="text/javascript"> var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log("div1.contains(div2)="+div1.contains(div2)); //字符擴(kuò)展contains就不會(huì)報(bào)錯(cuò)了 String.prototype.contains = function(a) { return - 1 < this.indexOf(a) }; var str1="jb51.net"; var str2="jb51"; console.log("str1.contains(str2)="+str1.contains(str2)); //數(shù)組擴(kuò)展contains適用于數(shù)組判斷 Array.prototype.contains = function(a) { if ("string" == typeof a || "number" == typeof a) for (var b in this) if (a == this[b]) return ! 0; return ! 1 }; var arr1=["jb51.net","jbzj.com","jb51.com"]; var str3="jb51.net"; console.log("arr1.contains(str3)="+arr1.contains(str3)); </script>
下面是運(yùn)行結(jié)果
所以后期我們的代碼可以加上這兩段即可
//字符擴(kuò)展contains就不會(huì)報(bào)錯(cuò)了 String.prototype.contains = function(a) { return - 1 < this.indexOf(a) }; //數(shù)組擴(kuò)展contains適用于數(shù)組判斷 Array.prototype.contains = function(a) { if ("string" == typeof a || "number" == typeof a) for (var b in this) if (a == this[b]) return ! 0; return ! 1 };
到此,關(guān)于“jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。