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

207
Visualizações
How can I loop 2D array and modify its values

Given 2D array of photos taken while John doe was on trips so I'm asked to rename pictures and replace actual name with city name where a picture was taken.

const photos = [
['photo.jpg', 'kigali','2013-09-05 14:08:09'],
['demmpa.jpg', 'kigali','2013-09-05 14:08:09'],
['third.jpg', 'kibuye','2013-02-05 12:08:09']
['forthpic.jpg', 'kampala','2013-02-05 12:08:09']
]
   photos.map((photo, index)=>{
    photo.filter((photo, index)=> console.log(photo))
    
  })

Actual output

"photo.jpg"
"kigali"
"2013-09-05 14:08:09"
"demmpa.jpg"
"kigali"
"2013-09-05 14:08:09"

Expected output

kigali01.jpg
kigali02.jpg
Kibuye1.jpg
kampala1.jpg
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can do it using map. And the occurrence will just keep the number of how many times the name is repeated.

Note: if you need to add leading zeros, Please check it out How to output numbers with leading zeros in JavaScript?

const photos = [
  ['photo.jpg', 'kigali','2013-09-05 14:08:09'],
  ['demmpa.jpg', 'kigali','2013-09-05 14:08:09'],
  ['third.jpg', 'kibuye','2013-02-05 12:08:09'],
  ['forthpic.jpg', 'kampala','2013-02-05 12:08:09']
];

const occurrence = {}

const newArray = photos.map(arr => {

  const ext = arr[0].split('.')[1]; // file extension

  if (occurrence[arr[1]]) { // check whether the name is already there
    occurrence[arr[1]]++;
    return `${arr[1]}${occurrence[arr[1]]}.${ext}`;
  }
  
  occurrence[arr[1]] = 1;
  return `${arr[1]}1.${ext}`;

});


console.log(newArray)

about 4 years ago · Juan Pablo Isaza Relatório

0

let photos = [
['photo.jpg', 'kigali','2013-09-05 14:08:09'],
['demmpa.jpg', 'kigali','2013-09-05 14:08:09'],
['third.jpg', 'kibuye','2013-02-05 12:08:09'],
['forthpic.jpg', 'kampala','2013-02-05 12:08:09']
]

 photos = Array.from(photos).map((photo)=>{
 const format = photo[0].split('.')[1]
 photo[0]=photo[1]+'.'+format
 return photo
})
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