(array, idx, canEdit)
| 854 | } |
| 855 | |
| 856 | function spliceOut(array, idx, canEdit) { |
| 857 | const newLen = array.length - 1; |
| 858 | if (canEdit && idx === newLen) { |
| 859 | array.pop(); |
| 860 | return array; |
| 861 | } |
| 862 | const newArray = new Array(newLen); |
| 863 | let after = 0; |
| 864 | for (let ii = 0; ii < newLen; ii++) { |
| 865 | if (ii === idx) { |
| 866 | after = 1; |
| 867 | } |
| 868 | newArray[ii] = array[ii + after]; |
| 869 | } |
| 870 | return newArray; |
| 871 | } |
| 872 | |
| 873 | const MAX_ARRAY_MAP_SIZE = SIZE / 4; |
| 874 | const MAX_BITMAP_INDEXED_SIZE = SIZE / 2; |