Skip to content

Commit d45bf6d

Browse files
committed
Optimize array.unshift
1 parent be7a278 commit d45bf6d

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

src/lualib/ArrayUnshift.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
function __TS__ArrayUnshift<T>(this: void, arr: T[], ...items: T[]): number {
2-
for (let i = items.length - 1; i >= 0; --i) {
3-
table.insert(arr, 1, items[i]);
1+
function __TS__ArrayUnshift<T>(this: void, arr: T[], items: T[]): number {
2+
const length = items.length;
3+
4+
for (const i of $range(arr.length, 1, -1)) {
5+
arr[i + length - 1] = arr[i - 1];
6+
}
7+
for (const i of $range(1, length)) {
8+
arr[i - 1] = items[i - 1];
49
}
510
return arr.length;
611
}

0 commit comments

Comments
 (0)