JavaScript實(shí)現(xiàn)的in_array函數(shù)
在JS中要判斷一個(gè)值是否在數(shù)組中并沒(méi)有函數(shù)直接使用,如PHP中就有in_array()這個(gè)函數(shù)。但我們可以寫(xiě)一個(gè)類似in_array()函數(shù)來(lái)判斷是一個(gè)值否在函數(shù)中。
/** * JS判斷一個(gè)值是否存在數(shù)組中 */ // 定義一個(gè)判斷函數(shù) var in_array = function(arr){ // 判斷參數(shù)是不是數(shù)組 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(','):'an empty array': arr.constructor: typeof arr ); // 不是數(shù)組則拋出異常 if(!isArr){ throw "arguments is not Array"; } // 遍歷是否在數(shù)組中 for(var i=0,k=arr.length;i<k;i++){ if(this==arr[i]){ return true; } } // 如果不在數(shù)組中就會(huì)返回false return false; } // 給字符串添加原型 String.prototype.in_array = in_array; // 給數(shù)字類型添加原型 Number.prototype.in_array = in_array; // 聲明一個(gè)數(shù)組 var arr = Array('blue','red','110','120'); // 字符串測(cè)試 var str = 'red'; var isInArray = str.in_array(arr); alert(isInArray); // true // 數(shù)字測(cè)試 var num = 119; var isInArray = num.in_array(arr); alert(isInArray); // false
如果傳入的不是數(shù)組則會(huì)拋出異常
/** * JS判斷一個(gè)值是否存在數(shù)組中 */ // 定義一個(gè)判斷函數(shù) var in_array = function(arr){ // 判斷參數(shù)是不是數(shù)組 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(','):'an empty array': arr.constructor: typeof arr ); // 不是數(shù)組則拋出異常 if(!isArr){ throw "arguments is not Array"; } // 遍歷是否在數(shù)組中 for(var i=0,k=arr.length;i<k;i++){ if(this==arr[i]){ return true; } } // 如果不在數(shù)組中就會(huì)返回false return false; } // 給字符串添加原型 String.prototype.in_array = in_array; // 給數(shù)字類型添加原型 Number.prototype.in_array = in_array; // 聲明一個(gè)數(shù)組 var arr = null; // 字符串測(cè)試 var str = 'red'; var isInArray = str.in_array(arr); alert(isInArray); // uncaught exception: arguments is not Array
直接報(bào)錯(cuò):
- javascript 終止函數(shù)執(zhí)行操作
- JavaScript截取字符串的Slice、Substring、Substr函數(shù)詳解和比較
- javascript字母大小寫(xiě)轉(zhuǎn)換的4個(gè)函數(shù)詳解
- JavaScript中的函數(shù)的兩種定義方式和函數(shù)變量賦值
- JavaScript中的apply和call函數(shù)詳解
- javascript中聲明函數(shù)的方法及調(diào)用函數(shù)的返回值
- JavaScript數(shù)組函數(shù)unshift、shift、pop、push使用實(shí)例
- 理解javascript中的回調(diào)函數(shù)(callback)
- javascript 自定義回調(diào)函數(shù)示例代碼
- Javascript獲取當(dāng)前時(shí)間函數(shù)和時(shí)間操作小結(jié)
- 原生Javascript封裝的一個(gè)AJAX函數(shù)分享
- 詳談JavaScript 匿名函數(shù)及閉包
- JavaScript中的alert()函數(shù)使用技巧詳解
- JavaScript中的console.dir()函數(shù)介紹
- javascript常用函數(shù)(1)
- javascript常用函數(shù)(2)
相關(guān)文章
js 實(shí)現(xiàn)watch監(jiān)聽(tīng)數(shù)據(jù)變化的代碼
這篇文章主要介紹了js 實(shí)現(xiàn)watch監(jiān)聽(tīng)數(shù)據(jù)變化的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10簡(jiǎn)單通過(guò)settimeout看javascript的運(yùn)行機(jī)制
這篇文章主要給大家介紹了關(guān)于如何通過(guò)settimeout看javascript的運(yùn)行機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05JavaScript實(shí)現(xiàn)的DOM樹(shù)遍歷方法詳解【二叉DOM樹(shù)、多叉DOM樹(shù)】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的DOM樹(shù)遍歷方法,結(jié)合實(shí)例形式詳細(xì)分析了二叉DOM樹(shù)、多叉DOM樹(shù)的前序、中序與后序遍歷,以及多叉樹(shù)深度優(yōu)先、廣度優(yōu)先等相關(guān)遍歷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05動(dòng)態(tài)修改DOM 里面的 id 屬性的弊端分析
我不知道是否有什么標(biāo)準(zhǔn)規(guī)定不允許修改id屬性,或者不建議修改id屬性,總之IE對(duì)此支持不佳。2008-09-09