gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 16:24:05 25 4
gpt4 key购买 nike

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

{
"ID": "...",
"Groups": [
{
"Products": []
}
{
"Other": []
}
]
}

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

[
{
"ProductCode": "Code1",
},
{
"ProductCode": "Code1",
},
]

我最终得到了这个......

{
"ID": "...",
"Groups": [
{
"Products":
[
[
{
"ProductCode": "Code1",
},
{
"ProductCode": "Code1",
},
]
]
}
{
"Other": []
}
]
}

...这是错误的(检查产品数组中的双 [[)。我正在使用 javascript 推送功能...

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

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

最佳答案

您的代码将一个数组作为条目插入另一个数组,而不是将条目附加到其中。

如果你想附加它(除非 Angular 有一些实用函数):

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

这有点棘手:它使用 Function#apply 调用带有多个参数的 push,每个参数对应 $scope.selectedProducts 中的每个条目。这是因为 JavaScript 数组没有原生的 append 方法;最接近的是concat,它创建一个数组。但以上适用于附加功能。

关于javascript - 将一个数组复制到另一个数组时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28857078/

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