使用return语句时循环不会中断

时间:2015-03-27 18:13:06

标签: javascript jquery

我试图根据某些条件返回一个对象,即如果满足某些条件,我想打破循环并将对象返回给被调用的函数。

下面是我的代码。

function someFun(that,filterID,columnSelctedID) {
    $.each(that.filters,function(i,filter) {
        if(filter.id==filterID) {
            $.each(filter.filters,function(j,column) {
                if(column.id==$('#' + columnSelctedID + ' .rule-filter-container-column select').val()) {
                    return column;
                }
            });
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您必须使用return false来中断.each循环。您可以使用外部变量来指定所选值。像这样的东西可以做到这一点

function someFun(that,filterID,columnSelctedID) {
    var col; // this is used to hold selected column
    $.each(that.filters,function(i,filter) {
        if(filter.id==filterID) {
            $.each(filter.filters,function(j,column) {
                if(column.id==$('#' + columnSelctedID + ' .rule-filter-container-column select').val()) {
                    col = column;
                    return false;
                }
            });
        }
    });
    return col;
}