下划线,错误地检索值
Underscore, retrieving value incorrectly
我正在尝试使用这样的链检索嵌套项值。我正在遍历的对象如下所示:
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"
。不确定是什么原因造成的。
你需要
.result(stateName)
而不是
.values()
前者returns一个对象的键值,后者-对象所有值的数组。
JSFiddle:http://jsfiddle.net/65j2r50t/
我正在尝试使用这样的链检索嵌套项值。我正在遍历的对象如下所示:
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"
。不确定是什么原因造成的。
你需要
.result(stateName)
而不是
.values()
前者returns一个对象的键值,后者-对象所有值的数组。
JSFiddle:http://jsfiddle.net/65j2r50t/