js使用for迴圈查詢數組中是否存在某個值,js數組

來源:互聯網
上載者:User

js使用for迴圈查詢數組中是否存在某個值,js數組

應為IE8不支援indexOf,所有寫一個for迴圈方法來判斷是否存在,並返回true false

function isCon(arr, val){ for(var i=0; i<arr.length; i++){ if(arr[i] == val) return true; } return false; }

 在js中添加此方法,在調用處調用該方法

window.onload = function(){ var arr=new Array(1,2,3,2,4,2,5,6,7,2,4,3,18,12,41,87); alert(isCon(arr, 8)); }

js中數組去重,盡量只用for 與if迴圈的,網上找的方法很多都不可以用,們

方法一:去重複資料
<script>
Array.prototype.distinct=function(){
var a=[],b=[];
for(var prop in this){
var d = this[prop];
if (d===a[prop]) continue; //防止迴圈到prototype
if (b[d]!=1){
a.push(d);
b[d]=1;
}
}
return a;
}
var x=['a','b','c','d','b','a','e','a','b','c','d','b','a','e'];
document.write('原始數組:'+x);
document.write("<br />");
document.write('去重複後:'+x.distinct());
</script>
方法二:取重複資料
<script type="text/javascript">
Array.prototype.distinct=function(){
var a=[],b=[],c=[],d=[];
for(var prop in this){
var d = this[prop];
if (d===a[prop])
{
continue;
}//防止迴圈到prototype
if (b[d]!=1){
a.push(d);
b[d]=1;
}
else {

c.push(d);
d[d]=1;
}
}
//return a;
return c.distinct1();
}
Array.prototype.distinct1=function(){
var a=[],b=[];
for(var prop in this){
var d = this[prop];
if (d===a[prop]) continue; //防止迴圈到prototype
if (b[d]!=1){
a.push(d);
b[d]=1;
}
}
return a;
}
 
js判斷一個值是否存在於一個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中也有一個in_array方法,該方法的原型為:
定義:確定第一個參數value在給定的數組array中的位置(如果沒有找到則返回 -1 )。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.