我有一个 Angular 数组 $scope.items
,我想将其转换为 json 对象。我一直在尝试使用 JSON.stringify()
转换它,但它总是返回 []
这是我的代码:
$scope.items = [];
var scopeItems = {};
scopeItems = JSON.stringify($scope.items);
console.log(scopeItems);
我正在使用 this link作为我的代码中的引用。
我在这里做错了什么?
感谢任何能帮助我的人!
最佳答案
JSON.stringify 将数组转换为字符串。不是一个对象。如果你想把它转换成一个对象然后使用 javascript reduce
像这样
$scope.items = ["item1","item2"];
var scopeItems = {};
scopeItems = $scope.items.reduce(function(acc, cur, i) {
acc[i] = cur;
return acc;
}, {});
console.log(scopeItems);
演示
angular.module("app",[])
.controller("ctrl",function($scope){
$scope.items = ["item1","item2"];
var scopeItems = {};
scopeItems = $scope.items.reduce(function(acc, cur, i) {
debugger
acc[i] = cur;
return acc;
}, {});
console.log(scopeItems);
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
</div>
关于javascript - 如何将数组 $scope 转换为 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832033/