有没有办法在Chrome Dev Tools的JavaScript对象中“grep”关键字?

时间:2015-04-16 16:19:49

标签: json grep google-chrome-devtools javascript-objects

我经常使用大型JavaScript对象,而不是手动打开和关闭" branches",我想简单地搜索特定字符串并显示匹配的任何键或值。

类似" grepping"对于JavaScript对象中的关键字。这可能吗(特别是在Chrome Dev Tool中)?

不幸的是我希望我至少可以尝试JSON.stringify()技巧,然后在文本编辑器中搜索原始JSON,但是我收到以下错误:

Uncaught TypeError: Converting circular structure to JSON

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以查看对象的键并与之匹配:

function grepKeys(o, query){
    var ret = {};
    Object.keys(o).filter(function(key){
       return key.includes(query);
    }).forEach(function(key){ // can reduce instead
       ret[key] = o[key]; // copy over
    });
    return ret;
}

允许您返回包含所有包含指定字符串的键的部分对象。请注意,这不会显示任何原型键,但可以轻松扩展以允许它(通过使用for... in而不是Object.keys或使用递归):

 var o = grepKeys({buzz:5, fuzz:3, foo:4}, "zz");
 o; // Object {buzz: 5, fuzz: 3}