Estoy luchando por descubrir cómo puedo refactorizar mi código para obtener una primera letra y un apellido, pero si es solo una palabra para obtener la palabra sin la primera letra. ¿Cuándo solo una palabra obtiene la primera letra también? EG Si es nombre@abc.com, entonces se convierte en nnombre@abc.com si es johndoe@abc.com está haciendo bien jdoe@abc.com ¿hay alguna forma de solucionarlo? Realmente agradecería si alguien puede ayudar? Aquí está mi código:
var fullName = item.getValue('abc12312').toLowerCase().split(' '); var lastName = fullName[fullName.length - 1]; var firstLetter = fullName[0].charAt(0); if(fullName != '') { var email = firstLetter + lastName + '@abc12123.com'; }no había probado el código, pero en su mayoría funcionará
// get input value from HTML and convert it as an array ; const fullName = document.getElementById('fullname').toLowerCase().split(' '); let firstLetterOrWord; if(fullName.length === 1){ // only one word firstLetterOrWord = fullName[0] } else { // two words // first character of first elemment of array firstLetterOrWord = fullName[0][0] } // if not found -> empty string const lastName = fullName[1] || ''; const email = firstLetterOrWord + lastName + '@abc12123.com'; <input id="fullname" type="text">Debe comprender qué hace cada función que ha mencionado en su bloque de código. Además, defina/mencione qué elemento está en su bloque de código porque no tenemos ningún conocimiento/referencia sobre qué es.
// get the full name var fullName = item.getValue('abc12312').toLowerCase().split(' '); // get the last name var lastName = fullName[fullName.length - 1]; // get the first letter var firstLetter = fullName[0][0] if (lastName != ''){ const email = firstLetter + lastName + '@abc12123.com'; }else{ const email = fullName[0] + '@abc12123.com'; }Todo lo que necesita hacer es crear una función/método que: