1

リスト内の行をループし、各行に。$.eachを使用して一連のフィルターを適用してい$.eachます。一致しない行をスキップしたいのですが。それはちょっとこのように見えます:

$.each(data, function(i, row) {
    count      = parseInt(row['n']);
    year       = row['year'];

    if (options.filters) {
        $.each(options.filters, function(filter, filtervalue) {
            if (row[filter] != filtervalue) return true;
        });
    }

    // Will only get here if all filters have passed
}

特定のフィルターに一致しない場合、ネストされた$.eachループで行をスキップするにはどうすればよいですか?filtervalue

4

1 に答える 1

1

filtervalue一致しないフィルターが少なくとも1つない場合は、行をスキップしますか?次に、少なくとも1つのフィルターに一致する場合は、行をスキップしないでください。filtervalue

$.each(data, function(i, row) {
    count      = parseInt(row['n']);
    year       = row['year'];


    // if there are no filters, don't skip the row (right? ;-)
    var skipRow = !!options.filters;

    if (options.filters) {
        $.each(options.filters, function(filter, filtervalue) {
            if (row[filter] == filtervalue) {
                skipRow = false;
            }
        });
    }

    if (skipRow) return true;
}
于 2012-04-20T23:56:35.707 に答える