Advertisement
NikolayPaskulov

Untitled

Oct 29th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. function reformatString(str, indexA, indexB) {
  2. var right = str.match(/{/g),
  3. left = str.match(/}/g),
  4. newStr,
  5. isEdited = false;
  6. if (right.length == left.length) {
  7. return str;
  8. }
  9.  
  10. if (str.lastIndexOf('{') > str.lastIndexOf('}')) {
  11. isEdited = true;
  12. newStr = str.slice(0, str.lastIndexOf(']')) + '}]';
  13. }
  14. if (str.lastIndexOf('}') == indexB) {
  15. return str
  16. }
  17.  
  18. var firstIndexOfRight = str.indexOf('{', indexA),
  19. firstIndexOfLeft = str.indexOf('}', firstIndexOfRight + 1),
  20. nextIndexOfRight = str.indexOf('{', firstIndexOfRight + 1);
  21.  
  22. if (nextIndexOfRight < firstIndexOfLeft) {
  23. if (str.lastIndexOf(':', nextIndexOfRight) < str.lastIndexOf(',', nextIndexOfRight)) {
  24. var lastIndexOfQ = str.lastIndexOf('"', nextIndexOfRight);
  25. newStr = str.slice(0, lastIndexOfQ + 1) + '}' + str.slice(lastIndexOfQ + 1);
  26. }
  27. } else if (!isEdited) {
  28. newStr = str;
  29. }
  30.  
  31. isEdited = false;
  32. reformatString(newStr, firstIndexOfRight + 1, firstIndexOfLeft);
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement