agrublev
7/13/2013 - 10:22 PM

Difference between for(i for data) and forEach(

Difference between for(i for data) and forEach(

if(!fc.empty(data.groups) && !fc.empty(data.projects_users)) {
    var projects_users_count = data.projects_users.length;
    for(var i in data.groups) {
        if(!fc.empty(data.groups[i].projects)) {
            for(var j in data.groups[i].projects) {
                if(!fc.empty(data.groups[i].projects[j].applications)) {
                    for(var k in data.groups[i].projects[j].applications) {
                        if(fc.empty(data.groups[i].projects[j].applications[k].users)) {
                            data.groups[i].projects[j].applications[k].users = [];
                        }

                        for(var u = 0 ;u < projects_users_count; u ++) {
                            if(!fc.empty(data.projects_users[u]['projects'][j]) && data.projects_users[u]['projects'][j].indexOf(k) !== -1) {
                                var users = angular.copy(data.projects_users[u]);
                                delete users['projects'];
                                data.groups[i].projects[j].applications[k].users.push(users);
                            }
                        }
                    }
                }
            }
        }
    }
}

angular.forEach(data.groups, function ( group, ind ) {
	angular.forEach(group.projects, function ( project, indA ) {
		angular.forEach(project.applications, function ( application, indB ) {
			if (fc.empty(application.users)) {
				application.users = [];
			}
			angular.forEach(data.projects_users, function ( user, indC ) {
				var users = angular.copy(user);
				delete users['projects'];
				application.users.push(users);
			});
		});
	});
});