简体   繁体   中英

How to stop lodash.js _.each loop?

I have this rows code:

_.each($scope.inspectionReviews, function (value, key) {
    alert("status=" + value.IsNormal + "   " + "name=" + value.InspectionItemName);
    if (!value.IsNormal) {
        $scope.status = false;
        return;
    }
    $scope.status = true;
})

At some point I want to stop looping but it seems that return not working.

How can I stop the loop?

return false;

Use this in a lodash each to break.

EDIT: I have seen the title changed to underscore. Is it underscore or lodash? As I pointed out above you can break an each in lodash but underscore I believe emulates forEach which natively doesn't provide that.

  • return false => it has exactly the same effect as using break;

  • return => this is the same as using continue;

If you want to test to see if a certain condition is true for any of the collection's members, use Underscore's some (aliased as any ) instead of each .

var hasAtLeastOneFalseStatus = _.any($scope.inspectionReviews, function (value, key) {
    return !value.IsNormal;
})

$scope.status = hasAtLeastOneFalseStatus ? false: true;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM