Envío algunos datos a través de la publicación AJAX y cuando recibo una respuesta, los envío a través de un bucle.
$.each(data, function() { $("#em").append('<i class="bi bi-pin-map-fill'+(lat == this.lat && lon == this.lon ? " bg-danger" : "")+'"></i> '+this.lat+' '+this.lon); let lat = this.lat, lon = this.lon; }En algunos casos, las coordenadas que recibo podrían ser exactamente de la misma ubicación, por lo que me gustaría poder marcar esos duplicados agregando color de fondo. Así que agregué una condición para buscar coincidencias, pero dejo en blanco cómo implementarla, ya que realmente no puedo establecer las variables al final de mi bucle... Necesito un empujón en la dirección correcta.
Si entiendo correctamente lo que está tratando de hacer, podría declarar una matriz de coordenadas antes de su ciclo, luego en la prueba de ciclo si la coordenada actual ya está en la matriz con el método de includes .
Por ejemplo:
const coordArray = []; $.each(data, function() { const isCoordDupli = coordArray.includes(`${this.lat} ${this.long}`); $("#em").append('<i class="bi bi-pin-map-fill'+(isCoordDupli ? " bg-danger" : "")+'"></i> '+this.lat+' '+this.lon); coordArray.push(`${this.lat} ${this.long}`); });