Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset=utf-8 />
- <title>My recursion</title>
- <script src="./db/filesystem.js"></script>
- </head>
- <body>
- <div id="out"></div>
- <script>
- var div=document.getElementById("out");
- var ObjInObj={
- GetObjectById: function (obj,target, sqBrckt, withComma, range){
- var str=JSON.stringify(obj);
- var a,b=str.length,c=0,d=0,e = str.indexOf('"'+target+'"');
- //a-used for current position in string
- //b-json object string length, c - bracket counter: { }, d - bracket counter: [ ]
- //e-unique string in object
- if (e>-1){
- a=e+1;
- while (((c+d)<range)&&(a>=0)) {
- a--;
- switch (str.charAt(a)) {
- case "{": c++; break;
- case "}": c--; break;
- case "[": sqBrckt ? d++ : null; break;
- case "]": sqBrckt ? d-- : null; break;
- }
- }
- //a-start position in string for object
- //e-ending position in string for object
- while ((e<b)&&((c>0)||(d>0))) {
- e++;
- switch (str.charAt(e)) {
- case "{": c++; break;
- case "}": c--; break;
- case "[": sqBrckt ? d++ : null; break;
- case "]": sqBrckt ? d-- : null; break;
- }
- }
- var prev=str.charAt(a-1);
- var next=str.charAt(e+1);
- withComma !== false ? (((prev == ",")&&(next != ",")) ? a-- : ((((prev != ",")||(prev == ","))&&(next == ",")) ? e++ : null)) : null
- return str.substring(a,e+1);
- }
- return "";
- },
- }
- //big object target countSquarBrackets ? range:1 only target, target and siblings too
- div.innerHTML=ObjInObj.GetObjectById(fs.parent,"de1eplv23",true,false,6);
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment