วิธีที่เร็วที่สุดในการแผ่หรือไม่ยุบวัตถุ JSON ที่ซ้อนกัน
ฉันโยนรหัสบางอย่างเข้าด้วยกันเพื่อทำให้วัตถุ JSON ที่ซับซ้อนและไม่ยุบ / แบนซ้อนกัน มันใช้งานได้ แต่มันช้าไปหน่อย (ทริกเกอร์คำเตือน 'long script') สำหรับชื่อที่แบนฉันต้องการ "." ในฐานะตัวคั่นและ [INDEX] สำหรับอาร์เรย์ ตัวอย่าง: un-flattened | flattened --------------------------- {foo:{bar:false}} => {"foo.bar":false} {a:[{b:["c","d"]}]} => {"a[0].b[0]":"c","a[0].b[1]":"d"} [1,[2,[3,4],5],6] => {"[0]":1,"[1].[0]":2,"[1].[1].[0]":3,"[1].[1].[1]":4,"[1].[2]":5,"[2]":6} ฉันสร้างเกณฑ์มาตรฐานที่ ~ จำลองกรณีการใช้ของฉันhttp://jsfiddle.net/WSzec/ รับวัตถุ JSON ที่ซ้อนกัน แผ่มัน มองผ่านและอาจแก้ไขได้ในขณะที่แบน ยกเลิกการย่อกลับเป็นรูปแบบซ้อนต้นฉบับที่จะส่งไป ฉันต้องการโค้ดที่เร็วกว่า: สำหรับการชี้แจงรหัสที่ทำให้เกณฑ์มาตรฐาน JSFiddle ( http://jsfiddle.net/WSzec/ ) เร็วขึ้นอย่างมาก (~ 20% + น่าจะดี) ใน …