当应该推送第二个元素时,json键会被分配一个数字而不是数组
json key gets assigned a number instead of array when second element is supposed to be pushed
我正在尝试生成一个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;
相关文章:
- 在jquery中创建和分配一个css类
- 在getJSON函数中分配一个变量
- ExtJS:为存储中的数据分配一个变量
- Javascript:分配一个变量并同时对其进行测试
- 在 JavaScript 警报消息框的“确定”按钮上分配一个值
- 使用 emscripten 在 JavaScript 中分配一个 C 结构
- 你能在javascript中分配一个引用表达式吗?
- JS - 为每个 Dom 元素分配一个对象中的值
- 我应该从量角器中元素的 getText() 承诺中分配一个变量或返回变量
- 如果我为 JS 变量分配一个新值,它会破坏它的绑定吗?
- JavaScript var 分配一个动态可为空的值显示脚本错误
- 为每个对象分配一个键
- 在 Jquery 中为语言切换器分配一个全局变量
- 找到一个按钮并通过jQuery / JavaScript分配一个ID
- 在 iframe 内分配一个变量
- 在循环中分配一个带有 PHP/Postgresql 查询值的 javascript 数组
- 随机为图像分配一个值,然后传递动画
- 为什么可以't我给“t”分配一个新值;这个“;在原型函数中
- AngularJS$http promise只能分配一个错误/成功函数
- 我可以从javascript向asp.net服务器端分配一个值吗