我想要转换为json对象的角度数组$scope.items
。我一直试图使用JSON.stringify()
转换它,但它总是返回[]
这是我的代码:
$scope.items = [];
var scopeItems = {};
scopeItems = JSON.stringify($scope.items);
console.log(scopeItems);
我在代码中使用this link作为参考。
我在这里做错了什么?
感谢任何可以帮助我的人!
答案 0 :(得分:2)
JSON.stringify将数组转换为字符串。不是一个对象。如果你想将它转换为一个对象,那么使用像这样的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>