下划线,错误地检索值

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/