Skip to content

Instantly share code, notes, and snippets.

@agrublev
Created July 13, 2013 22:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agrublev/5992441 to your computer and use it in GitHub Desktop.
Save agrublev/5992441 to your computer and use it in GitHub Desktop.
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);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment