gpt4 book ai didi

javascript - array.push(SomeObject) 不会复制 SomeObject 中包含的数组

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:32 25 4
gpt4 key购买 nike

以下代码:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com