数组判断元素是否存在

今天看见一个例子:判断数组中是否有1,如果没有添加进去:
var arrr=[5,7,9,6,30]
for(var i=0;i<arrr.length;i++){
   if(arrr[i]!==1){
       arrr.push(1)
       break;
    }
}

后来看了感觉不对,因为不管数组里存不存1在都会在数组里加1(除非最后一个元素为1);

然后就自己试了一下,我的骚操作一波

这里判断是否有1为例子

function panduan(arr,x){
for(var i=0;i<arr.length;i++){
if(arr[i]!==1){
x++
}
}
if(x==arr.length){console.log("没有1");
arr.push(1);
console.log(arr);}
else{console.log("有1");}
}

运行时:var arr1=[5,7,9,6,30];

panduan(arr1,0);

//  没有1

//  [5, 7, 9, 6, 30, 1]

运行时:var arr1=[5,7,9,1,6,30];

panduan(arr1,0);

//  有1

到这就可以了,当然你要判断别的

function panduan(arr,y,x){
for(var i=0;i<arr.length;i++){
if(arr[i]!==y){
x++
}
}
if(x==arr.length){console.log("没有"+y);
arr.push(1);
console.log(arr);}
else{console.log("有"+y);}
}

这里的x初始化都是为0;

方法有点土 哈哈。

找到一篇高大上的正确方法:https://www.cnblogs.com/wqsbk/p/6739304.html

看了才知道。

原文地址:https://www.cnblogs.com/wangxiaoer5200/p/8986004.html