我正在尝试使用像这样的链检索嵌套项值。我正在遍历的对象看起来像这样:
var testStates = [{
"module": "module1",
"customUrl": [
{ "mod1": "2" },
{ "mod2": "1" }
]
}, {
"module": "module2",
"customUrl": [
{ "mod3": "false" },
{ "mod4": "5" }
]
}
];
我的链条看起来像这样:
findState = _.chain(currentState)
.findWhere({ module: moduleName})
.result('customUrl')
.find(function (v) { return v.hasOwnProperty(stateName)})
.values()
.value();
这是返回正确的项目,但它本身就是一个数组,所以如果我console.log
它,它会返回["false"]
而不是"false"
。不确定是什么导致了这一点。
答案 0 :(得分:1)
你需要
.result(stateName)
而不是
.values()
前者按键返回对象的值,后者 - 对象的所有值的数组。
JSFiddle:http://jsfiddle.net/65j2r50t/