在javascript对象中搜索密钥

时间:2015-08-01 13:42:47

标签: javascript jquery json google-chrome-extension

我有一个chrome扩展程序,我有以下数据

var data = {}
data["Five, ok"] = "another one"
chrome.storage.sync.set(data)

chrome.storage.sync.get(function(content){console.log(content)})


>> {'Five, ok': "Another one ", 'ok, done': "New one"}

这可能会随着许多价值而变得更大。 (键是以逗号分隔的值)。

我想获得包含的所有密钥(2种不同的情况,这是用户给出的值) 好的 2.完成

这些值是动态的,在JavaScript / jquery

中实现此目的的最佳方法是什么

1 个答案:

答案 0 :(得分:2)

chrome.storage.sync.get(function(content) {
    var keys = Object.keys(content);
    var keysOK = keys.filter(function(key){ return key.search(/\b(ok|done)\b/i) });
    console.log(keysOK);
});
  • /\b(ok|done)\b/i找到包含okdone
  • 的密钥
  • /\bok\b/i找到包含ok
  • 的键
  • /\bdone\b/i找到包含done
  • 的键
  • 最后的i会使搜索不区分大小写。

正如@charlietfl评论的那样,效率不高。但是,chrome.sync不允许超过100kB of data,所以它可能不是问题。