【问题标题】:Web Storage API Session Storage: delete all keys like XYZWeb Storage API Session Storage:删除所有键,如 XYZ
【发布时间】:2017-08-22 12:50:32
【问题描述】:

给定以下 HTML 会话数据:

hasSession                            1
user                                  user_abc
CosttoServe599a8e8421a80              25
runningTotal                          100
Maintenance599a8e8421a80              5
BusinessEnhancements599a8e8421a80     25
BusinessEnhancements599a8e8421a94     25
Maintenance599a8e8421a94              10
FrontierInvestments599a8e8421a94      5
CosttoServe599a8e8421a86              0
FrontierInvestments599a8e8421a86      5

我正在尝试删除包含以下内容的所有键:

599a8e8421a94

有什么方法可以在会话存储上删除喜欢/通配符类型?

【问题讨论】:

  • 标题有点误导会话存储!=本地存储。
  • 谢谢@Script47 我不是在暗示这个...我会重命名

标签: javascript html session-storage


【解决方案1】:

循环遍历sessionStorage对象并检查一个键是否包含599a8e8421a94,如果包含,则删除它:

for (var key in sessionStorage) {
    if (key.indexOf('599a8e8421a94') !== -1)
        sessionStorage.removeItem(key);
}

一个例子:

/**  Define dummy data... **/
var obj = {
    'no-clean': 'i will not be cleaned.',
    'testing599a8e8421a94': 25,
    'another_test599a8e8421a94': 'e,ndleknfew',
    '599a8e8421a94somemoretesting': '2knmsdkgsdg'
};

/** Loop through our dummy data and add it to sessionStorage. **/
for (var key in obj) {
    sessionStorage.setItem(key, obj[key]);
}

/** This is the part you will need, loop through sessionStorage object. **/
for (var key in sessionStorage) {
    /** Check if the key contains the search string... **/
    if (key.indexOf('599a8e8421a94') !== -1)
        sessionStorage.removeItem(key)
}

console.log(sessionStorage)

JSFiddle - 打开控制台查看sessionStorage 对象中剩余的键/值。

阅读材料

How to check whether a string contains a substring in JavaScript?

【讨论】:

  • 感谢@Script47!现在测试将尽快接受答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 2016-08-06
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
相关资源
最近更新 更多