如何获取包含下划线的对象?

我需要find一个包含一个对象的key 。 它不应该返回一个包含数组或string的键。 例如, a它应该返回我但不是bc

 a = {"b" : "hi","c":[1,2,3],"d":{"2:":3}}; 

这是我试过的剪断。 它返回对象的第一个实例。 但我不需要数组实例只是一个字典。

 var _ = require(underscore); _.findKey(a,_.isObject); 

你可以使用普通的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"] 

我非常干净的方式将使用下划线select

 var a = {"b" : "hi","c":[1,2,3],"d":{"2:":3}}; var aFiltered = _.pick(a, function() { return _.isObject(value); });