javascript - How to build out this complex Array based on this Simple Object -


http://jsfiddle.net/leongaban/tuhgns3q/

my simple object:

{     portfolio: "aapl",     t1_tag1: "1111",     t2_tag1: "2222",     t3_tag1: "3333",     ticker1: "aa",     ticker2: "goog",     ticker3: "aapl" } 

the desired end result below. array objects containing array of objects:

[     0:object {         tags: [             0:object {                 t1_tag1: "1111"             }         ]         ticker: ticker1     },     1:object {         tags: [             0:object {                 t2_tag2: "2222"             }         ]         ticker: ticker2     },     3:object {         tags: [             0:object {                 t3_tag3: "3333"             }         ]         ticker: ticker3     } ] 

is there simplier way accomplish _lodash?

here's came using vanilla javascript , no lodash or underscore:

function expand(simple) {      var outerarray = [], innerarray,          outerindex = 1, innerindex,          outerobject, innerobject;        while (("ticker" + outerindex) in simple) {          innerarray = [];          innerindex = 1;            while (("t" + outerindex + "_tag" + innerindex) in simple) {              innerobject = {};                innerobject["t" + outerindex + "_tag" + innerindex] = simple["t" + outerindex + "_tag" + innerindex];              innerarray.push(innerobject);                innerindex++;          }            outerobject = {              tags: innerarray,              ticker: simple["ticker" + outerindex]          };            outerarray.push(outerobject);            outerindex++;      }        return outerarray;  }    console.log(expand({      portfolio: "aapl",      t1_tag1: "1111",      t2_tag1: "2222",      t3_tag1: "3333",      ticker1: "aa",      ticker2: "goog",      ticker3: "aapl"  }));


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -