萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> javascript模擬php函數in

javascript模擬php函數in

   就是判斷一個元素是否存在於數組中的函數,既然js裡string都有indexOf函數,為什麼不在Array對象裡設置一個這樣的函數呢,其實就用indexOf這個思想挺好的,不知道制定JS標准的人是基於什麼考慮,把這樣一個如此常用的功能沒考慮在內的。

  js 中判斷某個元素是否存在於某個 js 數組中,相當於 php 語言中的 in_array 函數。

  ?

1 2 3 4 5 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)); };

  用法如下:

  ?

1 2 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

  它的代碼如下:

  ?

1 2 3 4 5 6 7 function inArray(needle, haystack) { var length = haystack.length; for(var i = 0; i < length; i++) { if(haystack[i] == needle) return true; } return false; }

  以上就是本文給大家分享的全部內容了,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved