我需要在key
中找到包含对象的a
。它不应该返回包含数组或字符串的键。例如,在a
中,它应该返回d
但不是b
或c
a = {"b" : "hi","c":[1,2,3],"d":{"2:":3}};
这是我试过的剪辑。它返回我的第一个Object实例。但我不需要Array实例只是一个字典。
var _ = require(underscore);
_.findKey(a,_.isObject);
答案 0 :(得分:2)
您可以使用常规JS:
var keysThatContainObjects = Object.keys(a).filter(function(k) {
return typeof a[k] === "object" && !Array.isArray(a[k]);
}); //["d"]
1行
var keysThatContainObjects = Object.keys(a).filter(function(k) { return typeof a[k] === "object" && !Array.isArray(a[k]); }); //["d"]
答案 1 :(得分:0)
我非常干净的方法是使用underscore
中的pick
var a = {"b" : "hi","c":[1,2,3],"d":{"2:":3}};
var aFiltered = _.pick(a, function() {
return _.isObject(value);
});