JS判斷元素是否在數(shù)組內(nèi)的實(shí)現(xiàn)代碼
一、JQuery
如果是用JQuery的話,可以用inArray()函數(shù):
jquery inarray()函數(shù)詳解
jquery.inarray(value,array)
確定第一個(gè)參數(shù)在數(shù)組中的位置(如果沒(méi)有找到則返回 -1 )。
determine the index of the first parameter in the array (-1 if not found).
返回值
jquery
參數(shù)
value (any) : 用于在數(shù)組中查找是否存在
array (array) : 待處理數(shù)組。
用法為:
$.inArray(value, array)
二、自己寫(xiě)函數(shù)
function contains(arr, obj) { var i = arr.length; while (i--) { if (arr[i] === obj) { return true; } } return false; }
用法為:
var arr = new Array(1, 2, 3);
contains(arr, 2);//返回true
contains(arr, 4);//返回false
三、給Array增加一個(gè)函數(shù)
Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; }
使用方法:
[1, 2, 3].contains(2); //返回true
[1, 2, 3].contains('2'); //返回false
四、使用indexOf
但是有個(gè)問(wèn)題是IndexOf在某些IE版本中是不兼容的,可以用下面的方法:
if (!Array.indexOf) { Array.prototype.indexOf = function (obj) { for (var i = 0; i < this.length; i++) { if (this[i] == obj) { return i; } } return -1; } }
先判斷Array是否有indexOf方法,如果沒(méi)有就擴(kuò)展出此方法。
所以上面代碼要寫(xiě)在使用indexOf方法的代碼之前:
var arr = new Array('1', '2', '3'); if (!Array.indexOf) { Array.prototype.indexOf = function (obj) { for (var i = 0; i < this.length; i++) { if (this[i] == obj) { return i; } } return -1; } } var index = arr.indexOf('1');//為index賦值為0
- JS判斷數(shù)組里是否有重復(fù)元素的方法小結(jié)
- JavaScript判斷數(shù)組是否包含指定元素的方法
- JS判斷數(shù)組是否包含某元素實(shí)現(xiàn)方法匯總
- JS實(shí)現(xiàn)判斷數(shù)組是否包含某個(gè)元素示例
- 判斷數(shù)組是否包含某個(gè)元素的js函數(shù)實(shí)現(xiàn)方法
- javascript 判斷數(shù)組是否已包含了某個(gè)元素的函數(shù)
- javascript如何判斷數(shù)組內(nèi)元素是否重復(fù)的方法集錦
- 利用JS十分鐘判斷數(shù)組中存在元素的多種方式
- 利用JS判斷元素是否為數(shù)組的方法示例
- JS判斷元素是否存在數(shù)組中的5種方式總結(jié)
相關(guān)文章
JavaScript優(yōu)化以及前段開(kāi)發(fā)小技巧
隨著前端技術(shù)的發(fā)展,前端業(yè)務(wù)越來(lái)越繁重,這大大增加了JS代碼量。因此,要提高Web的性能,我們不僅需要關(guān)注頁(yè)面加載的時(shí)間,還要注重在頁(yè)面上操作的響應(yīng)速度。那么,接下來(lái)我們討論幾種能夠提高JavaScript效率的方法。2017-02-02使用webpack3.0配置webpack-dev-server教程
這篇文章主要介紹了使用webpack3.0配置webpack-dev-server教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05在實(shí)例中重學(xué)JavaScript事件循環(huán)
這篇文章主要介紹了在實(shí)例中重學(xué)JavaScript事件循環(huán),幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-12-12Javascript腳本獲取form和input內(nèi)容的方法(兩種方法)
隨著js的發(fā)展,許多的網(wǎng)頁(yè)數(shù)據(jù)處理完全可以由js腳本解決,而不需要發(fā)送到服務(wù)器,這里分享兩種Javascript腳本獲取form和input內(nèi)容的方法,感興趣的朋友跟隨小編一起看看吧2023-05-05JavaScript時(shí)間對(duì)象之常用方法的設(shè)置實(shí)例
這篇文章主要為大家介紹了JavaScript時(shí)間對(duì)象常用方法的設(shè)置實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05原生js實(shí)現(xiàn)移動(dòng)開(kāi)發(fā)輪播圖、相冊(cè)滑動(dòng)特效
原生JS實(shí)現(xiàn)圖片自動(dòng)輪播緩沖切換特效,很實(shí)用流暢的圖片輪播特效,在較現(xiàn)代的瀏覽器上展現(xiàn)的圓角效果,兼容差點(diǎn)的是直角效果,全部原生JS實(shí)現(xiàn),還是很不錯(cuò)的值得大家學(xué)習(xí)并利用,推薦下載。2015-04-04JavaScript中Object、map、weakmap的區(qū)別分析
這篇文章主要介紹了JavaScript中Object、map、weakmap的區(qū)別分析,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-12-12微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評(píng)分功能
這篇文章主要為大家詳細(xì)介紹了微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評(píng)分功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11解決bootstrap中使用modal加載kindeditor時(shí)彈出層文本框不能輸入的問(wèn)題
這篇文章主要介紹了解決bootstrap中使用modal加載kindeditor時(shí)彈出層文本框不能輸入的問(wèn)題,需要的朋友可以參考下2017-06-06