Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

325
Visualizações
Array.push not working in forEach loop using node js / javascript

Hi I am new to node js and I am trying to make an array from an object

data.forEach((title) => {
  let array = [];

  for (var i = 0; i <= data.length; i++) {
    array.push(title.title.charAt(0).toUpperCase() + title.title.slice(1))
  }
  console.log(array);

  //access.forEach((conf)=>{
  // conf.title
  // array
  //})
})
<script>
  let data = [{
      title: "user",
      fields: "required",
      access: "done"
    },
    {
      title: "root",
      fields: "default",
      access: "done"
    },
    {
      title: "super Admin",
      fields: "allready access",
      access: "defualt"
    },
    {
      title: "user1",
      fields: "required",
      access: "done"
    },
    {
      title: "test user",
      fields: "required",
      access: "done"
    },
  ]
</script>

As I want an array which contain all the title in it so I can use that array field inside the access.forEach method but what am getting is title but not in same array but as a different output

expected output

array = [User,Root,Super Admin,User1,Test user]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

An arrow function you pass into forEach is executed for every item in the data array so that you create a new array let array=[] for every item of your original one. You either want to declare the array outside of the function:

let array=[];
data.forEach(item => {
   array.push(item.title[0].toUpperCase() + item.title.slice(1));
})

or even better use map

let titles = data.map(item => item.title[0].toUpperCase() + item.title.slice(1))

An output in both cases will be: ["User", "Root", "Super Admin", "User1", "Test user"]

about 4 years ago · Juan Pablo Isaza Relatório

0

You can achieve this by using simple Array.map().

Working Demo :

let data = [{
  title: "user",
  fields: "required",
  access: "done"
}, {
  title: "root",
  fields: "default",
  access: "done"
}, {
  title: "super Admin",
  fields: "allready access",
  access: "defualt"
}, {
  title: "user1",
  fields: "required",
  access: "done"
}, {
  title: "test user",
  fields: "required",
  access: "done"
}];

const array = data.map((obj) => obj.title.charAt(0).toUpperCase() + obj.title.slice(1));

console.log(array);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda