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