I need to combine 2 simple arrays and remove duplicates
本问题已经有最佳答案,请猛点这里访问。
我有两个简单的数组需要组合和排序,非常简单。但是重复的需要被删除。
1 2 3 4 5 6 7 8 | oldProgrammers = new Array('Rob', 'Neek', 'Lisa', 'Susan'); newProgrammers = new Array('Brett', 'John', 'Tom', 'Lisa'); allProgrammers = oldProgrammers.concat(newProgrammers).sort(); allProgrammers.forEach(function(arrEl){ alert(arrEl); }) |
我不知道怎么做?!
您可以利用字典数据结构
1 2 3 4 | memo = {}; oldProgrammers.map(function(i){memo[i] = 1;}); newProgrammers.map(function(i){memo[i] = 1;}); allProgrammers = Object.keys(memo); |
但是所有真正的浏览器都支持它:)
您可以将它们混合在一起(并在运行时对它们进行排序),然后使用http://underlinejs.org/uniq进行分析。
uniq_.uniq(array, [isSorted], [iterator]) Alias: unique
Produces a duplicate-free version of the array, using === to test object equality. If you know in advance that the array is sorted, passing true for isSorted will run a much faster algorithm. If you want to compute unique items based on a transformation, pass an iterator function.
号