我遇到了一个奇怪的情况,我想更新一个对象数组,加入一个新对象。然而,在我执行 push 操作之前,我在控制台打印了一下数组内容,发现新对象已经在数组中。以下是代码基本框架:
var array1=[{
"Name": "Lake",
"ID": "1234"
}];
var object1={
"Name": "Mountain",
"ID": "1234"
};
function testArray() {
console.log(array1);
array1.push(object1);
}
如果对象包含相同的ID,我最终希望更新原始数组以添加新信息。 如果不包含相同的ID,则应将其附加。 这将通过对array1进行$.each循环来实现。
非常感谢任何帮助。 谢谢。
console.log()
会被排队等待。解决方法是在传递给console.log()
之前将输出字符串化。由于字符串是不变的,因此使用字符串时不会出现此问题。只有当您传递一个对象或数组引用并且该引用立即更改(在浏览器记录信息到控制台之前)时才会发生这种情况。 - jfriend00