Cyber, Я реализовал через Proxy.
Вот обработчик для Proxy.
let _indexer = {
get: function(obj, prop){
return (!isNaN(prop) ? obj.get(parseInt(prop)) : obj[prop]);
},
set: function(obj, prop, val){
if(!isNaN(prop)){
obj.set(val, parseInt(prop));
} else {
obj[prop] = val;
}
}
};
Проверяет, является ли переменная prop числом или нет. Если да, то извлечь ячейку памяти.