feat: arrayUnique
This commit is contained in:
parent
b361082de2
commit
6ab1c36980
|
@ -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
|
||||
|
|
|
@ -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: () => {
|
||||
|
|
Loading…
Reference in New Issue
Block a user