我看了一些例子,但似乎无法弄清楚。基本上我在离子应用程序中有一个联系表,允许用户联系列表所有者。
当他们提交表单时,我想将广告 ID 存储在本地存储中,这样他们就无法重复提交它。
我需要能够存储 json 数组然后检查结果。如果广告 ID 在会话存储中,则不显示表单,否则显示它。
我目前正在这样做,它似乎将广告 ID 存储在一个数组中,但是我如何循环检查一个 ID 是否存在?我尝试了 angular forEach,但结果是作为一个对象出现的。
// Parse any JSON previously stored in allEntries
var existingEntries = JSON.parse(localStorage.getItem("store_owner_ad_contacts"));
if(existingEntries == null) existingEntries = [];
var adId = {
"id":$scope.adId
};
// Save allEntries back to local storage
existingEntries.push(adId);
localStorage.setItem("store_owner_ad_contacts", JSON.stringify(existingEntries));
var values = JSON.parse(localStorage.getItem("store_owner_ad_contacts"));
angular.forEach(values, function(value, key) {
// ^ This is coming as an object how can I get the key value?
if(value == adId){
//form has been submitted before
}else{
// showformVar = true
console.log(key + ': ' + value);
});
我的存储看起来像这样
[{"id":"100033"},{"id":"100035"},{"id":"1000336"}]
我如何获得id值? (例如 1000033)
原文由 limit 发布,翻译遵循 CC BY-SA 4.0 许可协议
在您的循环中,您有一个对象,因此只需像访问对象一样访问 id 属性:object.yourProperty 或 object[yourProperty]