gpt4 book ai didi

javascript - 当第二个元素应该被推送时,json 键被分配一个数字而不是数组

转载 作者:行者123 更新时间:2023-12-02 17:25:41 28 4
gpt4 key购买 nike

我正在尝试生成一个 JSON 对象,我希望它看起来像这样:

{
"sreddy-vm-1":["MyDatabase-1"],
"sreddy-vm-2":["MyDatabase-2"],
"sreddy-vm-3":["MyDatabase-3", "MyDatabase-4", "MyDatabase-5"]
}

但是它生成了这个

{"sreddy-vm-1":["MyDatabase-1"],"sreddy-vm-2":["MyDatabase-2"], "sreddy-vm-3":3}

生成正确的 json,直到每个键在数组中都有一个元素,将第二个元素添加到 sreddy-vm-3 数组中时,它会分配 2,然后在下一个(最后一个)循环最终分配 3。我不明白发生了什么事。总的来说,我对 Javascript 很陌生。请帮忙。谢谢!

代码

// part of the code
$scope.forests = ["MyDatabase-1", "MyDatabase-2", "MyDatabase-3", "MyDatabase-4", "MyDatabase-5"];
$scope.forestsOnHosts = {};
angular.forEach($scope.forests, function(forest, key){
$scope.forestsOnHosts[host] = function () {
if ($scope.forestsOnHosts[host] === undefined || $scope.forestsOnHosts[host] === null) {
console.log('******************');
return new Array(forest);
} else {
console.log(JSON.stringify($scope.forestsOnHosts[host]));
var arr = new Array($scope.forestsOnHosts[host]);
return arr.push(forest);
}
}.call();
}
console.log(JSON.stringify($scope.forestsOnHosts));

最佳答案

return arr.push(forest);

不会返回一个数组,正如您所期望的那样。

arr.push(forest);
return arr;

关于javascript - 当第二个元素应该被推送时,json 键被分配一个数字而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23512582/

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