JS判斷元素是否在數(shù)組內(nèi)的實現(xiàn)代碼
一、JQuery
如果是用JQuery的話,可以用inArray()函數(shù):
jquery inarray()函數(shù)詳解
jquery.inarray(value,array)
確定第一個參數(shù)在數(shù)組中的位置(如果沒有找到則返回 -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)
二、自己寫函數(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增加一個函數(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
但是有個問題是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方法,如果沒有就擴展出此方法。
所以上面代碼要寫在使用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ù)組是否包含某元素實現(xiàn)方法匯總
- JS實現(xiàn)判斷數(shù)組是否包含某個元素示例
- 判斷數(shù)組是否包含某個元素的js函數(shù)實現(xiàn)方法
- javascript 判斷數(shù)組是否已包含了某個元素的函數(shù)
- javascript如何判斷數(shù)組內(nèi)元素是否重復(fù)的方法集錦
- 利用JS十分鐘判斷數(shù)組中存在元素的多種方式
- 利用JS判斷元素是否為數(shù)組的方法示例
- JS判斷元素是否存在數(shù)組中的5種方式總結(jié)
相關(guān)文章
JavaScript優(yōu)化以及前段開發(fā)小技巧
隨著前端技術(shù)的發(fā)展,前端業(yè)務(wù)越來越繁重,這大大增加了JS代碼量。因此,要提高Web的性能,我們不僅需要關(guān)注頁面加載的時間,還要注重在頁面上操作的響應(yīng)速度。那么,接下來我們討論幾種能夠提高JavaScript效率的方法。2017-02-02使用webpack3.0配置webpack-dev-server教程
這篇文章主要介紹了使用webpack3.0配置webpack-dev-server教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05在實例中重學(xué)JavaScript事件循環(huán)
這篇文章主要介紹了在實例中重學(xué)JavaScript事件循環(huán),幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-12-12Javascript腳本獲取form和input內(nèi)容的方法(兩種方法)
隨著js的發(fā)展,許多的網(wǎng)頁數(shù)據(jù)處理完全可以由js腳本解決,而不需要發(fā)送到服務(wù)器,這里分享兩種Javascript腳本獲取form和input內(nèi)容的方法,感興趣的朋友跟隨小編一起看看吧2023-05-05原生js實現(xiàn)移動開發(fā)輪播圖、相冊滑動特效
原生JS實現(xiàn)圖片自動輪播緩沖切換特效,很實用流暢的圖片輪播特效,在較現(xiàn)代的瀏覽器上展現(xiàn)的圓角效果,兼容差點的是直角效果,全部原生JS實現(xiàn),還是很不錯的值得大家學(xué)習(xí)并利用,推薦下載。2015-04-04JavaScript中Object、map、weakmap的區(qū)別分析
這篇文章主要介紹了JavaScript中Object、map、weakmap的區(qū)別分析,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-12-12微信小程序使用template標(biāo)簽實現(xiàn)五星評分功能
這篇文章主要為大家詳細(xì)介紹了微信小程序使用template標(biāo)簽實現(xiàn)五星評分功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11解決bootstrap中使用modal加載kindeditor時彈出層文本框不能輸入的問題
這篇文章主要介紹了解決bootstrap中使用modal加載kindeditor時彈出層文本框不能輸入的問題,需要的朋友可以參考下2017-06-06