Push object keys and its values to array

var arr = [];

for (var prop in obj) {
   if (obj.hasOwnProperty(prop)) {
      var innerObj = {};
      innerObj[prop] = obj[prop];
      arr.push(innerObj)
   }
}
    
console.log(arr);

here is demo https://plnkr.co/edit/9PxisCVrhxlurHJYyeIB?p=preview


p.forEach( function (country) { 
  country.forEach( function (entry) {
    entry.push( {"value" : 'Greece', "synonyms" : 'GR'});
   });
 });

you can try to use experimental Object.entries:

let obj = {
 "id": 23,
 "name": "Jacob",
 "link": {
     "rel": "self",
     "link": "www.abc.com"
 },
 "company":{
       "data":{
           "id": 1,
           "ref": 324
       }
 }};

console.log(Object.entries(obj).map(item => ({[item[0]]:item[1]})));

for unsupported browsers you can use polyfill: https://github.com/es-shims/Object.entries