tcanbolat
tcanbolat

Reputation: 411

pulling objects from an array within an array

I've been having trouble to get this function to work with multiple properties and values.

the code here works fine as long as the object contains one property and value.

var arr = [ [{ prop: 'val1' }], [{ prop: 'val2' }], [{ prop: 'val3' }] ]

var res = arr.map(getObject);

function getObject(o) {
    return Array.isArray(o) ?  getObject(o[0]) : o;
}
console.log(res);


[
    {
      "prop": "val1"
    },
    {
      "prop": "val2"
    },
    {
      "prop": "val3"
    }
  ]

ex.

    oldArray = [ [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }] ];


    newArray = [
    {
      "prop1": "val1",
      "prop2": "val2",
    },
    {
      "prop1": "val1",
      "prop2": "val2",
    },
    {
      "prop1": "val1",
      "prop2": "val2",
    },
  ];

Upvotes: 0

Views: 49

Answers (1)

souravmsh
souravmsh

Reputation: 638

var oldArray = [ [{ prop1: 'val1', prop2: 'val2' }, { prop11: 'val11', prop22: 'val22' }], [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }] ];

var newArray = [];
oldArray.map(function(subArray){
    subArray.map(function(prop){
        newArray.push(prop);
    });
});

console.log('oldArray', oldArray)
console.log('newArray', newArray)

Upvotes: 1

Related Questions