mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
21 lines
604 B
TypeScript
21 lines
604 B
TypeScript
export function splitIntoChunk<T = unknown>(arr: T[], chunkSize: number): T[][] {
|
|
const resArr = [];
|
|
for (let i = 0; i < arr.length; i += chunkSize) {
|
|
resArr.push(arr.slice(i, i + chunkSize));
|
|
}
|
|
return resArr;
|
|
}
|
|
|
|
export function swapElements<T = unknown>(from: number, to: number, arr: T[]): T[] {
|
|
[arr[from], arr[to]] = [arr[to], arr[from]];
|
|
return arr;
|
|
}
|
|
|
|
export function popElement<T = unknown>(func: (element: T) => boolean, arr: T[]): T {
|
|
const index = arr.findIndex(func);
|
|
if (index === -1) {
|
|
return null;
|
|
}
|
|
return arr.splice(index, 1)[0];
|
|
}
|