Javascript 删除包含相同数字的行

Javascript remove lines containing the same numbers

本文关键字:数字 删除 包含相 Javascript      更新时间:2023-09-26

如果我有这些行,例如:

  • 11 12 13
  • 13 12 11
  • 12 11 13
  • 12
  • 12 12

如何删除具有相同数字的行(在我的示例中的前 3 行)并只留下其中一行?

脚本后的示例行应如下所示:

  • 11 12 13
  • 12
  • 12 12

什至不知道该怎么做,我真的需要帮助。

试图排序和过滤,这就是我得到的......

https://jsfiddle.net/Ltoycjae/1

我正在使用SO的另一个人的排序和过滤功能

function sortByFrequencyAndRemoveDuplicates(array) {
    var frequency = {}, value;
    // compute frequencies of each value
    for(var i = 0; i < array.length; i++) {
        value = array[i];
        if(value in frequency) {
            frequency[value]++;
        }
        else {
            frequency[value] = 1;
        }
    }
    // make array from the frequency object to de-duplicate
    var uniques = [];
    for(value in frequency) {
        uniques.push(value);
    }
    // sort the uniques array in descending order by frequency
    function compareFrequency(a, b) {
        return frequency[b] - frequency[a];
    }
    return uniques.sort(compareFrequency);
}

你可以像这样使用JS的拆分和数组排序功能

var arr = [
             '11 12 13'
            ,'11 12 13'
            ,'13 12 11'
            ,'12 13 11'
            ,'12 12 12'
            ];
    keys = [];        

function getKey(s) {
    return s.split(' ').sort().join('-')
}        
for (var i in arr){
    var key = getKey(arr[i]);
    if (keys.indexOf(key)==-1){
        keys.push(key);
        console.log(arr[i])
    }
}

你可以在这里运行它 https://repl.it/Bl1i/0

希望对您有所帮助