-1

I am trying to return all the names from an object of arrays in to an new array just containing the names, but its not working, the if statement covers the issue of dealing with an empty array being passed here is the object, any suggestions much appreciated:-

const obj = [{
    name: "Mitch",
    age: 27,
    language: "Javascript"
  },
  {
    name: "Ant",
    age: 28,
    language: "Java"
  },
  {
    name: "Natalia",
    age: 29,
    language: "C"
  },
  {
    name: "Foluso",
    age: 26,
    language: "Ruby"
  }
];


let newArray = [];

for (let i = 0; i <= obj.length; i++) {
  newArray.push(obj.name);
  if (obj => obj.length = 0) {
    newArray = [];
  }
}
return newArray;
}
Andy
  • 61,948
  • 13
  • 68
  • 95
  • 1
    You don't have a function so how do you expect to `return` from it? If you debug your code you would have spotted this error "SyntaxError: return not in function" as shown in the snippet I updated your question with. – Andy Sep 16 '21 at 11:42
  • Oops I forgot to copy in the function Andy – Jonathan Joseph Sep 16 '21 at 12:19

2 Answers2

0

Here it is:

const obj = [
    { name: "Mitch", age: 27, language: "Javascript" },
    { name: "Ant", age: 28, language: "Java" },
    { name: "Natalia", age: 29, language: "C" },
    { name: "Foluso", age: 26, language: "Ruby" }
];
  
const names = obj.map(x => x.name)

console.log('names', names)
danday74
  • 52,471
  • 49
  • 232
  • 283
0
const obj = [{
    name: "Mitch",
    age: 27,
    language: "Javascript"
  },
  {
    name: "Ant",
    age: 28,
    language: "Java"
  },
  {
    name: "Natalia",
    age: 29,
    language: "C"
  },
  {
    name: "Foluso",
    age: 26,
    language: "Ruby"
  }
];
 
let new_array_of_names = obj.map(item=>item.name)