Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Percorrer a array e fazer armazenar

Pessoal, tudo bem? estou começando no JS, gostaria da ajuda de vcs! Eu preciso percorrer a minha array para que cada iteração me retorne um objeto, e ai você acessa este objeto. E também preciso validar se existe um id já gerado para que os dados sejam gravados na array. pois ele esta incrementando a array, porém substituindo o dado antigo. Poderiam por gentileza me ajudar?

let arrayPoi = [];

        let poi = {
            nome: "",
            id: "",
            controlador: null,
            anel: null,
            fases: null,
            lat: "",
            lng:""
        };
 function cliqueTela(){
            let nome = prompt('Digite o seu cruzamento: ');
            if (nome != null) {
                let marker = new google.maps.Marker({
                    position: tempPosition,
                    map: map,
                    title: nome
                });

                    poi.nome = nome;
                    poi.id = geraID();
                    poi.lat = latitude;
                    poi.lng = longitude;

            percorreArray();
            arrayPoi.push(poi);

            }
        }

function geraID() {
            return 'xxxxxxx'.replace(/[xy]/g, function(c) {
                let r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
                return v.toString(16);
            });
 }  
3 respostas

Fala ai Lucas, tudo bem? Não entendi muito bom a sua dúvida, consegue me passar mais detalhes?

percorrer a minha array para que cada iteração me retorne um objeto

Está precisando buscar um objeto no array ou modificar todos os itens para ser um objeto?

E também preciso validar se existe um id já gerado para que os dados sejam gravados na array. pois ele esta incrementando a array

Nesse ponto, precisa verificar se algum item do array tem esse id ou não?

Fico no aguardo e desculpa o mal entendimento.

Tudo sim, Consigo. Preciso percorrer a minha array com for...in ou forEach(), ou qualquer outro que percorra array. Que faça cada iteração virar um objeto e que eu possa acessá-lo.

Na minha array, não estou conseguindo fazer que os valores sejam armazenados, sem que substituam o antigo. eu tenho dentro da minha array poi, um id declarado. Preciso validar que este ID armazene as informações.

Estou trabalhando com a API do Google Maps, Quando eu dou um duplo clique abro um prompt para que o usuário cadastre o ponto. Neste ponto, eu gero automaticamente um UUID, com 7 digitos, para que não haja conflitos. então quando o usuário cadastra o novo ponto, ele adiciona a array mais um, porém substitui um antigo. Nesse duplo clique eu pego a Latitude e a Longitude, junto com o ID e o nome do ponto.

Fala Lucas, vamos lá:

Talvez ainda não tenha ficado claro para mim, mas, acho que você pode estar utilizando o map para percorrer todos os itens do array e transformá-los em objeto.

Depois, para pegar um determinado item com um determinado ID no array, você pode usar o find e procurar por esse ID, caso ele existe, você vai ter acesso ao objeto.

Caso não seja isso que precise, a gente vai conversando.

Espero ter ajudado.