У меня есть массив (oldArray) из 120 объектов. Я хочу создать еще один массив (newArray), первым элементом которого является первый элемент oldArray. Кажется довольно простым, за исключением того, что мои выходы не так ожидаются.JavaScript массив объектов не толкает должным образом
var obj = oldArray[0];
newArray[0] = obj;
console.log(obj);
console.log(newArray);
console.log(newArray[0]);
console.log(oldArray);
console.log(oldArray[0]);
obj
, newArray[0]
и oldArray[0]
все тот же результат в моей консоли - единственный объект, который я хочу работать.
newArray
однако показывает все объекты oldArray
, а не только тот, который я думал, содержал. newArray.length == 1
. Консольные дисплеи: [Объект]
oldArray
- мой оригинальный массив. oldArray.length == 120
. Консольные дисплеи [Объект, Объект, ...]
Я пробовал много вещей и не ожидал, что это повредит. Я думал, что это было бы newArray.push(oldArray[0])
или, может быть, newArray[0] = oldArray.splice(0,1)
, но все, что я пытаюсь, похоже, создает ту же проблему.
Есть ли какой-то специальный трюк для работы с массивами объектов?
Спасибо!
выглядит так: http://jsfiddle.net/arunpjohny/YK5aW/1/ –
Являются ли 'newArray' и' oldArray' объявленными как Array? – jfriend00
Хорошо, выяснилось, что некоторые вещи, которые я делал с newArray позже, испортили его, но по какой-то причине консоль.log показывала LATER-версию newArray (у меня не было других консольных.logs где-нибудь еще). Вещь отлично работает. Спасибо всем. –