【发布时间】:2013-12-02 10:56:06
【问题描述】:
我有一个包含 120 个对象的数组 (oldArray)。 我想创建另一个数组(newArray),其第一个元素是 oldArray 的第一个元素。 看起来很简单,只是我的输出不如预期。
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 的所有对象,而不仅仅是我认为 obj 包含的对象。 newArray.length == 1。控制台显示:[对象]
oldArray 是我的原始数组。 oldArray.length == 120。控制台显示 [Object, Object, ...]
我尝试了很多事情,没想到会挂断电话。我以为应该是newArray.push(oldArray[0]) 或newArray[0] = oldArray.splice(0,1),但我尝试的一切似乎都在制造同样的问题。
在处理对象数组时有什么特殊技巧吗?
谢谢!
【问题讨论】:
-
newArray和oldArray是否都声明为数组? -
好吧,原来我后来用 newArray 做的一些事情把它搞砸了,但由于某种原因,console.log 显示了新版本的 newArray(我没有其他 console.logs其他任何地方)。事情完美。谢谢大家。
标签: javascript arrays object splice