就是判斷一個元素是否存在于數組中的函數,既然js里string都有indexOf函數,為什么不在Array對象里設置一個這樣的函數呢,其實就用indexOf這個思想挺好的,不知道制定JS標準的人是基于什么考慮,把這樣一個如此常用的功能沒考慮在內的。
js 中判斷某個元素是否存在于某個 js 數組中,相當于 php 語言中的 in_array 函數。
- Array.prototype.S=String.fromCharCode(2);
- Array.prototype.in_array=function(e){
- var r=new RegExp(this.S+e+this.S);
- return (r.test(this.S+this.join(this.S)+this.S));
- };
用法如下:
- var arr=new Array(["b",2,"a",4,"test"]);
- arr.in_array('test');//判斷 test 字符串是否存在于 arr 數組中,存在返回true 否則false,此處將返回true
|
注:此函數只對字符和數字有效
jQuery中有類似的函數:http://docs.jquery.com/Utilities/jQuery.inArray
它的代碼如下:
- function inArray(needle, haystack) {
- var length = haystack.length;
- for(var i = 0; i < length; i++) {
- if(haystack[i] == needle) return true;
- }
- return false;
- }
以上就是本文給大家分享的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選