混淆node.js中的数组和对象

hh5*_*188 0 javascript arrays object node.js

我有一个商店对象数组,其中已有一个对象:

var obj = [{
    name: 'json',
    lang: 'en'
}];

console,.log(obj) //the result is OK;
Run Code Online (Sandbox Code Playgroud)

然后我想把另一个对象推入其中,就像:

var newObj = {
    name: 'lee',
    lang: 'zh'
}

obj.push(newObj)
Run Code Online (Sandbox Code Playgroud)

但在此之后我打印了obj数组,console.log(obj)结果就是2!!

为什么会这样?如何解决此问题?正确地将对象存储在数组中

xda*_*azz 5

确保你没有这样做obj = obj.push(newObj);,因为.push方法在推送后返回元素的数量; 相反,该行应该简单地阅读obj.push(newObj).