jQuery中的inArray()函數(shù)用于查找一個(gè)指定的值是否存在于一個(gè)數(shù)組中,如果存在,則返回該值在數(shù)組中的索引,如果不存在,則返回-1。
//例如: var arr = [1, 2, 3, 4, 5]; var index = $.inArray(3, arr); console.log(index); //2 var index2 = $.inArray(6, arr); console.log(index2); //-1
inArray()函數(shù)的語法為:
$.inArray(value, array, [fromIndex])
其中value表示要查找的值,array表示要查找的數(shù)組,fromIndex表示開始查找的位置,默認(rèn)為0。
在使用inArray()函數(shù)進(jìn)行查找時(shí),我們可以使用if語句進(jìn)行判斷,如果返回的值為-1,則表示該值不存在于數(shù)組中,否則存在。
var arr = [1, 2, 3, 'abc', 'def']; var result = $.inArray('abc', arr); if(result === -1) { console.log('該值不存在于數(shù)組中'); } else { console.log('該值存在于數(shù)組中,索引為' + result); }
inArray()函數(shù)還有一個(gè)常用的應(yīng)用場(chǎng)景是去重,可以使用它來遍歷一個(gè)數(shù)組,如下所示:
var arr = [1, 2, 3, 3, 4, 4, 5]; var newArr = []; $.each(arr, function(index, value) { if($.inArray(value, newArr) === -1) { newArr.push(value); } }); console.log(newArr); //[1, 2, 3, 4, 5]
上面的代碼中,我們使用了each()方法遍歷數(shù)組,在遍歷過程中使用inArray()函數(shù)進(jìn)行判斷,如果新數(shù)組中不存在該值,就將其添加到新數(shù)組中。
總的來說,inArray()函數(shù)是一個(gè)非常實(shí)用的函數(shù),可以方便地查找指定的值是否存在于一個(gè)數(shù)組中,以及用于去重等操作。