diff --git a/src/utils/sort.js b/src/utils/sort.js new file mode 100644 index 00000000..7a168e57 --- /dev/null +++ b/src/utils/sort.js @@ -0,0 +1,15 @@ +export function sortByPattern(list, pattern, map) { + let weight = i => { + const index = pattern.indexOf(map(i)); + return index > -1 ? pattern.length - index : 0; + }; + + return sortByWeight(list, weight) +} + +export function sortByWeight(list, fn) { + return list + .map(i => [fn(i), i]) + .sort((a, b) => b[0] - a[0]) + .map(i => i[1]); +} \ No newline at end of file