Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. // I have a array
  2. arr1 = [ { 'name': 'name 1', 'roles': [ 'role_11', 'role_12', ], }, { 'id': 'name 2', 'roles': [ 'role_21', 'role_22', ] } ]
  3.  
  4. // I want to form this array from the above array, using lodash functions
  5. // [ { 'name': 'name 1', 'role': 'role_11', }, { 'name': 'name 1', 'role': 'role_12', }, { 'name': 'name 2', 'role': 'role_11', }, { 'name': 'name 2', 'role': 'role_22', } ]
  6.  
  7. arr2 = _.flatten(
  8. _.map(
  9. arr1,
  10. function(item) {
  11. return _.map(item.roles, function(role) {
  12. // ``._set` mutates orignal variable (item/arr1), so we do _.cloneDeep to avoid mutation
  13. return _.omit(_.set(_.cloneDeep(item), 'role', role), 'roles');
  14. });
  15. }
  16. )
  17. );
  18.  
  19. $("body").append(JSON.stringify(arr2));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement