UnderscoreJS - 如何从对象数组中获取第一个值实例?

时间:2014-09-18 09:10:31

标签: underscore.js underscore.js-templating

在我的数组中,我没有带有code的实例标签。但我从第一个实例中只需要一个。我使用了find方法。但我得到了错误。

这是我的尝试:

var ob = {
    "name" : [
        {"code" : ""},
        {"code" : "1"},
        {"code" : "1"},
        {"code" : "1"},
        {"code" : "1"}
    ]
}

var code = _.find(ob.name, "code");
console.log(code); //error as "undefined is not a function"

这里使用的方法有误吗?请问任何人能指导我正确吗?

Live Demo

1 个答案:

答案 0 :(得分:1)

如果您想从数组中获取第一个元素,请使用_.first()

var code = _.first(ob.name).code;

或者

var code = _(ob.name).pluck('code').first();

如果您想获得非空的第一个元素,请使用filter过滤掉空元素。

_(ob.name).pluck('code').filter(function (e) { return !!e; }).first();