feat: arrayUnique

This commit is contained in:
cha0s 2019-03-22 14:46:01 -05:00
parent b361082de2
commit 6ab1c36980
2 changed files with 13 additions and 8 deletions

View File

@ -9,6 +9,17 @@
* (...args) => f(g(h(...args))).
*/
export function arrayUnique(array) {
const uniques = new Map();
array.forEach((element) => {
if (uniques.has(element)) {
return;
}
uniques.set(element, true);
})
return Array.from(uniques.keys());
}
export function compose(...funcs) {
if (funcs.length === 0) {
return arg => arg

View File

@ -1,5 +1,6 @@
import * as I from 'immutable';
import {arrayUnique} from '@avocado/core';
import {Trait} from '@avocado/entity';
import {Rectangle, Vector} from '@avocado/math';
@ -105,14 +106,7 @@ export class Listed extends Trait {
return node.data[2];
});
// Hitting multiple points for each entity can return duplicates.
const uniqueEntities = new Map();
entities.forEach((entity) => {
if (uniqueEntities.has(entity)) {
return;
}
uniqueEntities.set(entity, true);
})
return Array.from(uniqueEntities.keys());
return arrayUnique(entities);
},
resetQuadTreeNodes: () => {