20 lines
457 B
TypeScript
20 lines
457 B
TypeScript
export function arrayUnique(array: any[]) {
|
|
var a = array.concat();
|
|
for (var i = 0; i < a.length; ++i) {
|
|
for (var j = i + 1; j < a.length; ++j) {
|
|
if (a[i] === a[j]) a.splice(j--, 1);
|
|
}
|
|
}
|
|
|
|
return a;
|
|
}
|
|
|
|
export function shuffleArray<T>(array: T[]): T[] {
|
|
const out = [...array];
|
|
for (let i = out.length - 1; i > 0; i--) {
|
|
const j = Math.floor(Math.random() * (i + 1));
|
|
[out[i], out[j]] = [out[j], out[i]];
|
|
}
|
|
return out;
|
|
}
|