如下代码:
var ResultSet= { 'ResultSetName': "Resultset1",
Values: [ { Val1: 1, Val2: 2, Val3: 'SomeName' } ] }
var AllResults= { 'MyListName': 'SomeList', 'MyResults': { Results: [] } }
AllResults.MyResults.Results.push(ResultSet);
console.log(AllResults.MyResults);
console.log(AllResults.MyResults.Values);
产生输出:
{ Results: [ { ResultSetName: 'Resultset1', Values: [Object] } ] }
undefined
但是我希望它会产生类似以下内容:
{ Results: [ { ResultSetName: 'Resultset1', Values: [Object] } ] }
[ { Val1: 1, Val2: 2, Val3: 'SomeName' } ]
我想念什么?为什么不复制对象中包含的数组?达到预期结果的正确方法是什么?
(我使用的是node.js 1.8.2,但在浏览器中出现了相同的行为)
最佳答案
AllResults是一个对象。
AllResults.MyResults是一个对象
AllResults.MyResults.Results是一个数组
AllResults.MyResults.Results [0]是您的ResultSet
对象。
console.log(AllResults.MyResults.Results[0].Values); //This is where your Values object ended up.
关于javascript - array.push(SomeObject)不复制SomeObject中包含的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7259751/