123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- let get;
- let put;
- let pop;
- class SetArray {
- constructor() {
- this._indexes = { __proto__: null };
- this.array = [];
- }
- }
- (() => {
- get = (strarr, key) => strarr._indexes[key];
- put = (strarr, key) => {
-
- const index = get(strarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = strarr;
- return (indexes[key] = array.push(key) - 1);
- };
- pop = (strarr) => {
- const { array, _indexes: indexes } = strarr;
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
- };
- })();
- export { SetArray, get, pop, put };
|