Advertisement
code2508

extraerCalleYNumero

May 29th, 2025 (edited)
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.48 KB | Source Code | 0 0
  1. /**
  2.  * Extrae el nombre de la calle y el número exterior de una dirección.
  3.  *
  4.  * @param {string} direccion - La dirección completa en formato "Nombre de la calle NúmeroExterior"
  5.  * @returns {{ calle: string, next: string }} Un objeto con la calle y el número exterior separado
  6.  */
  7. export const extraerCalleYNumero = (direccion) => {
  8.   // Elimina espacios al inicio y final, y divide la dirección por espacios en un array
  9.   const partes = direccion.trim().split(" ");
  10.  
  11.   // Se asume que la última palabra es el número exterior
  12.   let next = partes.pop();
  13.  
  14.   // Verifica si la última palabra NO es un número, pero la penúltima SÍ lo es
  15.   // Ejemplo: "Av. Insurgentes 123-A"
  16.   if (isNaN(next) && partes.length > 0 && !isNaN(partes[partes.length - 1])) {
  17.       // Combina ambas partes como número exterior: "123 A"
  18.       next = `${partes.pop()} ${next}`;
  19.   }
  20.  
  21.   // Lo que queda se considera como el nombre de la calle
  22.   const calle = partes.join(" ");
  23.  
  24.   // Devuelve un objeto con la calle y el número exterior separados
  25.   return { calle: calle, next: next };
  26. };
  27.  
  28.  
  29. // Ejemplos de uso:
  30.  
  31. const direccion = extraerCalleYNumero("Av. Reforma 245") -> { calle: "Av. Reforma", next: "245" }
  32. console.log(direccion.calle);
  33. // "Av. Reforma"
  34. console.log(direccion.next);
  35. // 245
  36.  
  37. const direccion = extraerCalleYNumero("Calle 5 de Mayo 123-B") -> { calle: "Calle 5 de Mayo", next: "123-B" }
  38. console.log(direccion.calle);
  39. // "Calle 5 de Mayo"
  40. console.log(direccion.next);
  41. // 123-B
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement