繁体   English   中英

"chrome.storage 从数组中删除特定项目"

[英]chrome.storage remove specific item from an array

这是存储在我的 chrome 本地存储中的 JSON

{"users":[
    {"password":"123","userName":"alex"},
    {"password":"234","userName":"dena"},
    {"password":"343","userName":"jovit"}
]}

是否可以删除“用户”中的特定项目? 我试过这段代码但没有运气

chrome.storage.local.remove('users[0]', function(){
    alert('Item deleted!');
});

没有魔法语法只从存储在chrome.storage的数组中删除一个元素。 为了从数组中删除项目,您必须检索存储的数组,丢弃不需要的项目(或者等效地,仅保留您要保留的项目),然后再次保存数组:

chrome.storage.local.get({users: []}, function(items) {
    // Remove one item at index 0
    items.users.splice(0, 1);
    chrome.storage.set(items, function() {
        alert('Item deleted!');
    });
});

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

请注意,如果要删除一个或多个值满足特定条件的项,则必须以相反的顺序遍历数组。 否则你最终可能会删除错误的项目,因为在删除第一个项目后,后面的元素的索引会被删除,当你删除了两个项目时,它们会被两个项目关闭,等等。

是的,你可以试试这个

chrome.storage.sync.remove("token");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM