¿Cómo obtener el nombre y apellido de alguien cuando ingresa su nombre completo si el nombre y / o apellido de alguien tiene más de 1 palabra cada uno? Como por ejemplo "Juan García Reyes" donde "García Reyes" es el apellido, o "Anne Marie Smith" donde Anne Marie es el nombre. Tengo esto:
set fullName(value) { const parts = value.split(" "); this.firstName = parts[?]; this.lastName = parts[?] }o esto:
set fullName(value) { [this.firstName, this.lastName] = value.split(' '); }pero solo funcionan cuando el nombre y el apellido son solo 1 palabra. ¡Soy un principiante, así que perdónenme si esto es un poco estúpido!
Primero lee esto
https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
No lo recomiendo, pero se puede hacer
const value = "John John James"; const parts = value.split(" "); const lastName = parts.pop() const firstName = parts.join(" ") console.log(lastName) console.log(firstName)No puedes adivinar qué tipo de datos informará tu usuario, puede proporcionar una, dos o tres palabras, siendo el nombre las dos primeras o solo la primera, por ejemplo. Pero puedes hacer que informen de la manera que quieras. Intente establecer entradas significativas, una para el nombre y otra para el apellido.
haga dos entradas separadas y deje que el usuario escriba su nombre en uno y su apellido en el otro. javascript no tiene la capacidad de detectar un nombre/apellido y escribir código porque parece una locura cuando solo puede tener dos entradas separadas