javascript類比php函數in_array

來源:互聯網
上載者:User

javascript類比php函數in_array

   就是判斷一個元素是否存在於數組中的函數,既然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;

}

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.