Я не уверен, если это ошибка, или если у меня есть полное непонимание Javascript, но это то, что происходит:Javascript свойства объекта с теми же значениями испытывают те же изменения, когда они не должны (сращивание)
Я принимаю объект с двумя массивами внутри него, один, представляющих текущую очередь идентификаторов и другие, представляющих общую очередь идентификаторов (гипотетическая ситуация)
var mainObject = {
object1:[],
object2:[]
};
в функции, мы устанавливаем два массива свойств в то же самое переменная, которая содержит необходимый массив, прежде чем мы сможем начать обработку очереди.
var randomVar = [1,2,3,4];
mainObject.object1 = randomVar;
mainObject.object2 = randomVar;
Теперь мы хотим использовать метод сплайсинга для удаления первого индекса из объекта1, сохраняя его на объекте два.
mainObject.object1.splice(0,1);
Результат объекта теперь выглядит следующим образом:
mainObject = {
object1:[2,3,4],
object2:[2,3,4]
};
означает, что оба свойства были сращены, когда мы только попросили Javascript, чтобы запустить его один раз.
См JS Fiddle для живого примера: https://jsfiddle.net/ypow6y8g/
Есть ли что-то я пропускаю, или это просто еще одна ночь, проведенная с рыхлой JS?
Отлично, спасибо! – Matthew