Можно ли поменять ссылку на объект, содержащийся в элементе массива, на другой индекс и удалить / удалить старый индекс.
Пример: у меня есть массив ОБЪЕКТОВ с индексами A, B, C, D.
Теперь я хочу создать новый элемент массива с индексом F и назначить ему ссылку на объект, содержащийся в индексе B.После этого я хочу удалить B из массива так, чтобы остались только A, C, D, E.
Что я в основном хочу сделать, это скопировать ссылку на объект, который содержит индекс B, и скопировать его вE.
Я пробовал приведенный ниже код, но он не работает:
this.cache['A'] = new Orange(1);
this.cache['B'] = new Orange(2);
this.cache['C'] = new Orange(3);
this.cache['D'] = new Orange(4);
// I want to pass the reference B contains
// and assign it to F (like something you can do in C++)
this.cache['E'] = this.cache['B'];
// First attempt
// length of array is 5 (cache['B'] just has value of undefined)
delete this.cache['B'];
// Second attempt
// the reference to object Orange was deleted in both B and E
this.cache.splice('B', 1);
Я не хочу создавать новый объект и переназначать значения, потому что есть много ссылоки привязки к объектам, поэтому делать глубокую копию было бы бессмысленно.