Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Extrae el nombre de la calle y el número exterior de una dirección.
- *
- * @param {string} direccion - La dirección completa en formato "Nombre de la calle NúmeroExterior"
- * @returns {{ calle: string, next: string }} Un objeto con la calle y el número exterior separado
- */
- export const extraerCalleYNumero = (direccion) => {
- // Elimina espacios al inicio y final, y divide la dirección por espacios en un array
- const partes = direccion.trim().split(" ");
- // Se asume que la última palabra es el número exterior
- let next = partes.pop();
- // Verifica si la última palabra NO es un número, pero la penúltima SÍ lo es
- // Ejemplo: "Av. Insurgentes 123-A"
- if (isNaN(next) && partes.length > 0 && !isNaN(partes[partes.length - 1])) {
- // Combina ambas partes como número exterior: "123 A"
- next = `${partes.pop()} ${next}`;
- }
- // Lo que queda se considera como el nombre de la calle
- const calle = partes.join(" ");
- // Devuelve un objeto con la calle y el número exterior separados
- return { calle: calle, next: next };
- };
- // Ejemplos de uso:
- const direccion = extraerCalleYNumero("Av. Reforma 245") -> { calle: "Av. Reforma", next: "245" }
- console.log(direccion.calle);
- // "Av. Reforma"
- console.log(direccion.next);
- // 245
- const direccion = extraerCalleYNumero("Calle 5 de Mayo 123-B") -> { calle: "Calle 5 de Mayo", next: "123-B" }
- console.log(direccion.calle);
- // "Calle 5 de Mayo"
- console.log(direccion.next);
- // 123-B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement