如果我有这些行,例如:
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
希望能帮助到你
关于javascript - Javascript删除包含相同数字的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35311652/