我想推入一個新的項目進入favlist,我已經使用for循環來檢查該項目是否已經存在於favlist。推動只有一個項目,而不是推動對象的數量
但是,不是一次推新項目,而是反覆推送新項目的數量。
解決此問題的最佳方法是什麼?
在此先感謝!
$scope.favlist = JSON.parse($window.localStorage.getItem("favlist"));
console.log($scope.favlist);
$scope.toggleStar = function(item) {
item.star = !item.star;
console.log(item); //object
var favlistcontent = $window.localStorage.getItem("favlist");
console.log(favlistcontent); //string
if(typeof favlistcontent !== 'string'){
$scope.favlist = [];
$window.localStorage.setItem("favlist",JSON.stringify($scope.favlist));
}
$scope.favlist = JSON.parse($window.localStorage.getItem("favlist"));
console.log($scope.favlist); //object
console.log($scope.favlist.length);
console.log(angular.equals($scope.favlist[0],item)); //true
for(i=0; i<$scope.favlist.length; i++){
if(angular.equals($scope.favlist[i],item)){
console.log("item already exists");
}
else {
$scope.favlist.push(item);
$window.localStorage.setItem("favlist",JSON.stringify($scope.favlist));
}
}
你能告訴我們favlist和項目的價值? – jbrown
此刻是2,並且項目只有一個對象! (我添加了額外的代碼) – CWHsu