js 判斷元素在陣列中和取反操作

2021-07-27 09:31:07 字數 1402 閱讀 1301

之前就有點暈,以為自己搞清了,理了理發現自己還是沒搞清。

是這樣的,我要做乙個判斷,即乙個元素不在這個陣列裡執行操作  和乙個元素在這個陣列裡執行操作。

首先是乙個元素不在陣列中我才執行相應操作。

var array = [1,45,67,34,56,34];

var b = 1;

var flag = 0;

for(var i = 0;iif(b != array[i])

}這樣是列印5次正確,顯然不對,我想要的是b=55,不在陣列裡,列印一次正確。b=1,在陣列中,不能列印正確。

所以只能是利用乙個標誌,即我迴圈遍歷一遍陣列,只要 發現元素在裡面標誌為1,為0時元素一定不在裡面。

var array = [1,45,67,34,56,34];

var b = 4;

var flag = 0;

for(var i = 0;iif(b == array[i])

}if(flag !=1)

結果為列印一次正確,在裡面時不列印。

然後就是元素只要在陣列裡面就執行相應操作。

var array = [1,45,67,34,56,34];

var b = 45;

var flag = 0;

for(var i = 0;iif(b == array[i])

}此時列印一次正確,不在裡面不列印。

當然當我想通了,忽然感覺好麻煩,既然這個邏輯經常用,換其他的方法不用迴圈豈不更好。

法一js:array.indexof( 元素)       不在陣列中值為-1,在陣列中返回在陣列中下標,從0開始。判斷不為-1即可。

判斷在陣列中

var array = [1,45,67,34,56,34];

var b = 55;

var flag = 0;

if(array.indexof(b) != -1)

判斷不在陣列中

var array = [1,45,67,34,56,34];

var b = 66;

var flag = 0;

if(array.indexof(b) == -1)

法二 jquery     $.inarray(元素,array)

var array = [1,45,67,34,56,34];

var b = 99;

var result = $.inarray(b, array);

console.log(result)

if(array.indexof(b) == -1)

結果原理和js indexof相同。

總而言之,一種是邏輯判斷自己做,滿足執行,不滿足做非的情況就容易做錯。一種是用js,jquery有的方法,簡單好多。當然網上查資料說 indexof有相容性問題我,我自己沒有碰到到。

js判斷乙個元素是否在陣列中

js中存在乙個陣列,如何判斷乙個元素是否存在於這個陣列中呢,首先是通過迴圈的辦法判斷,如下 var arr a s d f console.info isinarray arr,a 迴圈的方式 使用迴圈的方式判斷乙個元素是否存在於乙個陣列中 param arr 陣列 param value 元素值 ...

JS 6 判斷乙個元素是否在陣列中

摘要 有三種方式 1,jquery的inarray方法 2,陣列的indexof方法 3,普通的for迴圈方法 正文 1,jquery的inarray方法 param arr 陣列 param value 元素值 function isinarray arr,value return false 2...

js檢查元素是否包括在陣列中

在系統中須要檢查稅率填寫的正確性,一定是國家規定的某幾種稅率,當然能夠通過if else進行校驗,可是還能夠使用定義乙個陣列然後校驗是否包括在元素中進行校驗。長處 加入稅率無需改動邏輯,僅僅須要在稅率陣列中加入就可以。array.prototype.contains function obj ret...