Jquery check if array contains duplicate string

前端 未结 4 970
盖世英雄少女心
盖世英雄少女心 2021-01-14 11:56

How to check if array contains a duplicate string , i have validateArray = [\'sa\',\'sa\',\'yu\'] i have used the following function from SO but same not working for me.

相关标签:
4条回答
  • 2021-01-14 12:25

    This is working for me:

    var reportRecipients = ['AAA', 'XYZ', 'AAA', 'ABC', 'XXX', 'XYZ', 'PQR'];
    var recipientsArray = reportRecipients.sort(); 
    
    var reportRecipientsDuplicate = [];
    for (var i = 0; i < recipientsArray.length - 1; i++) {
        if (recipientsArray[i + 1] == recipientsArray[i]) {
            reportRecipientsDuplicate.push(recipientsArray[i]);
        }
    }
    

    Hope that helps.

    0 讨论(0)
  • 2021-01-14 12:27

    Please try this, if the sort function is not working well :

        var all_list= ['sa','sa','yu'] 
        var duplicates_list = [];
        var unique_list = [];
        $.each(all_list, function(key, value){
                if($.inArray(value, unique_list ) == -1){
                    unique_list.push(value);
                }else{
                    if($.inArray(value, duplicates_list ) == -1){
                        duplicates_list.push(value);
                    }
                }
        });
    
    //duplicated elements 
    console.log(duplicates_list )
    
    0 讨论(0)
  • 2021-01-14 12:29

    Take a look at this:

    function getDistinctArray(arr) {
        var compareArray = new Array();
        if (arr.length > 1) {
            for (i = 0;i < arr.length;i++) {
                if (compareArray.indexOf(arr[i]) == -1) {
                    compareArray.push(arr[i]);
                }
            }
        }
        return compareArray;
    }
    

    And here is a working fiddle

    0 讨论(0)
  • 2021-01-14 12:41

    just use unique() method.

    $.unique(reportRecipients);
    

    https://api.jquery.com/jQuery.unique/

    0 讨论(0)
提交回复
热议问题