我有这个功能:

Tickets.prototype.each = function(func) {
    _.each(this.getTickets(), func);
};

Tickets.prototype.findWhere = function(key, val) {
    this.each(function(ticket) {
        if(ticket.get(key) === val) {
            console.log(ticket);
            return ticket;
        }
    });
};


然后我在这里打电话给findWhere:

console.log(this.collection.findWhere('ID', $ticketRow.data('id')));


当我运行它时,.findWhere一侧的console.log打印正确的票证对象。但是我在其中调用的console.log显示“未定义”。

是什么原因造成的?

最佳答案

您可能需要

Tickets.prototype.findWhere = function(key, val) {
    var tick;
    this.each(function(ticket) {
        if(ticket.get(key) === val) {
            console.log(ticket);
            tick = ticket;
        }
    });
    return tick;
};

关于javascript - 函数未正确返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17142716/

10-12 03:34