溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能

發(fā)布時(shí)間:2021-03-10 16:23:19 來源:億速云 閱讀:185 作者:TREX 欄目:web開發(fā)

這篇文章主要介紹“jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能”,在日常操作中,相信很多人在jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

JS是什么

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>

jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能

但它并不是字符串方法,,僅用于判斷DOM元素的包含關(guān)系,參數(shù)是Element類型

jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能

若要在JS中判斷倆字符串的包含關(guān)系,用indexOf()

jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能

但是我們可以通過擴(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é)果

jst中contains是否包含擴(kuò)展字符/數(shù)組/dom功能

所以后期我們的代碼可以加上這兩段即可

//字符擴(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í)用的文章!

向AI問一下細(xì)節(jié)

免責(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)容。

AI