Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. // path like: name.name.item[0].name
  2. // where arrary reference is: item[0]
  3.  
  4. var setToValue = function(obj, value, path) {
  5.  
  6. var a = path.split('.');
  7. var context = obj;
  8. var selector;
  9. var myregexp = /([a-zA-Z]+)(\[(\d)\])+/; // matches: item[0]
  10. var match = null;
  11.  
  12. for (var i = 0; i < a.length - 1; i += 1) {
  13. match = myregexp.exec(a[i]);
  14. if (match !== null) context = context[match[1]][match[3]];
  15. else context = context[a[i]];
  16. }
  17.  
  18. // check for ending item[xx] syntax
  19. match = myregexp.exec([a[a.length - 1]]);
  20.  
  21. if (match !== null) context[match[1]][match[3]] = value;
  22. else context[a[a.length - 1]] = value;
  23.  
  24. };
  25.  
  26. module.exports = setToValue;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement