【问题标题】:Jquery check if array contains duplicate stringJquery检查数组是否包含重复的字符串
【发布时间】:2014-04-10 06:01:06
【问题描述】:

如何检查数组是否包含重复的字符串,我使用了 validateArray = ['sa','sa','yu'] SO中的以下功能,但同样不适用于我。

checkDuplicate = function (reportRecipients) {
    if (reportRecipients.length > 1) {
        var recipientsArray = reportRecipients.toString().split(',');
        for (a in recipientsArray) {
            if(reportRecipients.indexOf(a) != reportRecipients.lastIndexOf(a)){
                return true;
                break;
            }
        }
    }
    return false;
}

【问题讨论】:

标签: jquery arrays


【解决方案1】:

这对我有用:

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]);
    }
}

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    如果排序功能不好,请试试这个:

        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 )
    

    【讨论】:

      【解决方案3】:

      看看这个:

      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;
      }
      

      这是一个working fiddle

      【讨论】:

        【解决方案4】:

        只需使用 unique() 方法。

        $.unique(reportRecipients);
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-27
          • 1970-01-01
          • 1970-01-01
          • 2014-03-10
          • 1970-01-01
          • 2011-04-13
          • 1970-01-01
          • 2012-11-27
          相关资源
          最近更新 更多