let Ar=[
{
      info:{
          name:"Sai",
          age:24
      },
    grade:'A'
},    
{
    name:"Satish",
    grade:'B',
    info:{
        place:"Hyd",
        company:'Company1'
    },
    info2:{
        place2:"Hyderabad",
        company2:'Company2'
    }
}
]
**Output should be key values pairs only **
[
    {
        "name": "Sai",
        "age": 24,
        "grade": "A"
    },
    {
        "name": "Satish",
        "grade": "B",
        "place": "Hyd",
        "company": "Company1",
        "place2": "Hyderabad",
        "company2": "Company2"
    }
]
How we can get only key value pairs form the object and nested object
*Current solution I have like this But do we have more optimized code to get the only key value pairs from an object. I have used Object.keys(obj) and Object.entries(obj) methods to achieve *
let fr=Ar.map((A)=>{
    let test=[];
  let en= Object.keys(A).map((item) => {
  if (typeof A[item] === "object") {
     Object.entries(A[item]).map((i)=>{test.push(i)})
  } else {
    return test.push([item, A[item]]);
  }
});  
    
    return test;
})
    
let finalAnswer=fr.map((item)=>{
    return Object.fromEntries(item)
})
 console.log("Spread Print",finalAnswer)
Is there any better solution than me?
 
     
    