的数组我有对象的数组如何修改JSON对象的对象
// This is should be taken from database
$scope.users = [{"$id":"1","UserID":3,"Name":"A","Selected":false},{"$id":"2","UserID":4,"Name":"B","Selected":false},{"$id":"3","UserID":5,"Name":"C","Selected":false},{"$id":"4","UserID":6,"Name":"D","Selected":false}]
然后有一个包含从先前的屏幕
$scope.usersSelected = [{"$id":"3","UserID":5,"Name":"C","Selected":true,"$$hashKey":"object:83"},{"$id":"4","UserID":6,"Name":"D","Selected":true,"$$hashKey":"object:84"}]
选定的用户我想更新的数组Selected
$scope.users
的属性,如果它们在$scope.usersSelected
中找到。所以我遍历$scope.usersSelected
然后搜索其UserID
在$scope.users
的UserID
for (var i = 0; i < $scope.usersSelected.length; i++) {
var obj = $.grep($scope.users, function (e) { return e.UserID == $scope.usersSelected[i].UserID; });
obj.Selected = true;
}
但Selected
属性将不会被更新。上面的代码有什么问题?第二,我需要一个关于上面数组中的数据的解释,为什么当我从数据库填充数据时总是有"$id"
,而且当我从另一个屏幕获取数据时,还需要"$$hashKey"
?这些价值从何而来?
笔记:我正在使用AngularJS和ASP.NET Web API 2从数据库中获取数据。
如果要删除'$ hashkey'和这样做的其他'angular.toJson()'它会删除男人 – SakthiSureshAnand
@SakthiSureshAnand,太好了,谢谢信息,所以角度打印JSON,应该使用'angular.toJson()'而不是'JSON.stringify()'? – Willy
我建议你去'underscore.js' http://underscorejs.org/[][1]它有所有的方法来迭代像东西 – SakthiSureshAnand