Javascript 将一个数组复制到另一个数组时出现问题

Javascript 将一个数组复制到另一个数组时出现问题,javascript,arrays,json,angularjs,Javascript,Arrays,Json,Angularjs,我试图将一个数组的内容放入另一个数组中。我有这个json($scopeProducts) 我正在尝试将以下json添加到“产品”数组($scope.selectedProducts) 最后我得到了这个 { "ID": "...", "Groups": [ { "Products": [ [ { "ProductCode": "Code1", },

我试图将一个数组的内容放入另一个数组中。我有这个json($scopeProducts)

我正在尝试将以下json添加到“产品”数组($scope.selectedProducts)

最后我得到了这个

{
"ID": "...",
"Groups": [
    {
        "Products": 
    [
        [
            {
                "ProductCode": "Code1",
            },
            {
                "ProductCode": "Code1",
            },
        ]
    ]
    }
{
        "Other": []
    }
]
}
。。。这是错误的(检查products数组中的double[],我正在使用javascript推送函数

$scopeProducts.Groups[0].Products.push($scope.selectedProducts); 

有人能告诉我如何在不创建双数组[]的情况下正确执行此操作吗?非常感谢

您的代码将一个数组作为条目推送到另一个数组中,而不是将条目附加到该数组中

如果要附加它(除非有一些实用功能):


这有点棘手:它使用
函数#apply
调用带有多个参数的
push
,每个参数对应
$scope.selectedProducts
。这是因为JavaScript数组没有本机的
append
方法;它们最接近的是
concat
,这会创建一个新数组。但上述方法适用于附加功能。

太好了!它起作用了,谢谢你的解释。
{
"ID": "...",
"Groups": [
    {
        "Products": 
    [
        [
            {
                "ProductCode": "Code1",
            },
            {
                "ProductCode": "Code1",
            },
        ]
    ]
    }
{
        "Other": []
    }
]
}
$scopeProducts.Groups[0].Products.push($scope.selectedProducts); 
$scopeProducts.Groups[0].Products.push.apply($scopeProducts.Groups[0].Products, $scope.selectedProducts);