2016-12-02 97 views
2

我需要檢查主數組中是否存在特定值。檢查數組中是否存在項目

Example:

var hideFilters = function() { 
    var listCategoryId = ['1000014', '1000015', '1000016', '1000017', '1000018', '1000019', '1000021', '1000086']; 

    var actualCategoryId = '1000018'; 

    if (actualCategoryId === listCategoryId) { 
     console.log('is equal'); 
    } else { 
     console.log('fuen... fuen...'); 
    } 
}; 

hideFilters(); 
+0

如果(actualCategoryId.includes(actualCategoryId)) – rule

回答

6
if(listCategoryId.indexOf(actualCategoryId) != -1) { 
    console.log('exists') 
} 
+0

是啊。它是。 – yBrodsky

2

如果Array.prototype.indexOf()返回一個指數大於或等於0時,所述陣列包含指定的元素。否則,將返回-1:

var hideFilters = function() { 
 
    var listCategoryId = ['1000014', '1000015', '1000016', '1000017', '1000018', '1000019', '1000021', '1000086']; 
 

 
    var actualCategoryId = '1000018'; 
 

 
    if (listCategoryId.indexOf(actualCategoryId) > -1) { 
 
    console.log('is equal'); 
 
    } else { 
 
    console.log('fuen... fuen...'); 
 
    } 
 
}; 
 

 
hideFilters();

1

您可以使用$.inArray

var listCategoryId = ['1000014', '1000015', '1000016', '1000017', '1000018', '1000019', '1000021', '1000086']; 
 

 
var actualCategoryId = '1000018'; 
 

 
if ($.inArray(actualCategoryId, listCategoryId) != -1) { 
 
    console.log('exists'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

如果你用'「1000014」'運行它,它會聲稱它不存在,因爲'。.inArray()'的工作原理就像'.indexOf' – vlaz

+0

@vlaz修復它..謝謝指出 –

+0

不用擔心。它也讓我感覺到了(我開始寫一個答案,但是在我完成之前發佈了一些人)。我知道_ $ _inArray函數,但(根據名稱),我認爲它返回一個布爾值而不是索引...我責備jQuery的混亂。 – vlaz