jQuery $ .inArray不起作用

时间:2012-11-15 16:57:47

标签: jquery arrays duplicates

我想避免在数组中重复值。

function doValidatePages(){
    var pageNumbers = new Array();

    $('.page_num').each (function () {
        if($.inArray($(this).val(), pageNumbers,0) == -1){
            if($(this).val() != '-') {
                pageNumbers = ($(this).val());
                console.log(pageNumbers)
            } else {
                alert("empty")
            }
        } else {
            alert("duplicate");
        }   
    });
}

输入示例:1,1,3,1

对于第二个“1”我得到-1,但是在插入3之后,我再次获得第三个“1”a -1!

2 个答案:

答案 0 :(得分:3)

您需要提供数组作为inArray()函数的参数:

if($.inArray($(this).val(), pageNumbers) == -1) {
...

答案 1 :(得分:0)

请阅读文档:http://api.jquery.com/jQuery.inArray/
您需要在第4行通知secound参数:

if($.inArray($(this).val(), pageNumbers ) == -1){