我有一个JSON数组,我从localstorage加载,我想添加更多项目并放回本地存储。但是,我有点迷失,并且错误说concat不存在。
$scope.searchObj = {
term: searchTerm
};
$scope.curObj = $scope.curObj.concat($scope.searchObj);
localStorage.setObject('searchObj', $scope.curObj);
$ scope.curObj目前看起来像:
Object {term: "fs"}
我想将searchTerm(在searchObj中)推入curObj所以它看起来像
{"term":"fs","term":"searchterm"}
答案 0 :(得分:1)
$scope.searchObj
不是数组,而是JSON
对象。
您实际上想要合并两个对象。你可以在普通JS中使用:
for (var attrname in $scope.curObj) {
$scope.searchObj[attrname] = $scope.curObj[attrname];
}
$scope.searchObj = angular.extend($scope.searchObj, $scope.curObj);
答案 1 :(得分:0)
使用$localStorage
将对象存储到localstorage并使用服务var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
var countedNames = names.reduce(function(allNames, name) {
if (name in allNames) {
allNames[name]++;
}
else {
allNames[name] = 1;
}
return allNames;
}, {});
-
Reference
使用angular.extend(oldobject,newobject)进行合并