... где каждый объект также имеет ссылки на другие объекты в том же массиве?
Когда я впервые столкнулся с этой проблемой, я просто подумал о чем-то вроде
var clonedNodesArray = nodesArray.clone()
будет существовать и искать информацию о том, как клонировать объекты в JavaScript. Я нашел вопрос в StackOverflow (на который ответил тот же @JohnResig), и он указал, что с jQuery вы можете сделать
var clonedNodesArray = jQuery.extend({}, nodesArray);
для клонирования объекта. Я попробовал это, хотя, это только копирует ссылки на объекты в массиве. Так что, если я
nodesArray[0].value = "red"
clonedNodesArray[0].value = "green"
значение обоих nodeArray [0] и clonedNodesArray [0] окажется "зеленым". Тогда я попробовал
var clonedNodesArray = jQuery.extend(true, {}, nodesArray);
, который глубоко копирует Объект, но я получил сообщения " слишком много рекурсии " и " переполнение стека управления " от Firebug и Opera Dragonfly соответственно.
Как бы вы это сделали? Это что-то, что даже не следует делать? Есть ли способ повторного использования в Javascript?