JavaScript實(shí)現(xiàn)的in_array函數(shù)
在JS中要判斷一個(gè)值是否在數(shù)組中并沒有函數(shù)直接使用,如PHP中就有in_array()這個(gè)函數(shù)。但我們可以寫一個(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字母大小寫轉(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)文章
javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的啟動(dòng)和停止
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的啟動(dòng)和停止文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
js-FCC算法-No repeats please字符串的全排列(詳解)
下面小編就為大家?guī)?lái)一篇js-FCC算法-No repeats please字符串的全排列(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
JavaScript實(shí)現(xiàn)下載base64數(shù)據(jù)并兼容低版本
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)下載base64數(shù)據(jù)并兼容低版本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12
JavaScript forEach中return失效問(wèn)題解決方案
這篇文章主要介紹了JavaScript forEach中return失效問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
JavaScript+Canvas實(shí)現(xiàn)彩色圖片轉(zhuǎn)換成黑白圖片的方法分析
這篇文章主要介紹了JavaScript+Canvas實(shí)現(xiàn)彩色圖片轉(zhuǎn)換成黑白圖片的方法,結(jié)合實(shí)例形式分析了javascript結(jié)合HTML5相關(guān)函數(shù)修改頁(yè)面圖片元素顯示效果相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
使用js對(duì)select動(dòng)態(tài)添加和刪除OPTION示例代碼
動(dòng)態(tài)刪除select中的所有options、某一項(xiàng)option以及動(dòng)態(tài)添加select中的項(xiàng)option,在IE和FireFox都能測(cè)試成功,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08

