¿Cómo puedo dividir esta matriz con comas? tengo varias matrices
[ "Prensa de Liderazgo" ]
[ "PrensaLíderEmpresarialLiderazgo" ]
[ "LíderLiderazgoPolíticaPrensa" ]
etc.
scraper.scrapeListingPages('article.article', (item) => { var categories = $(item).find('a[rel = "category tag"]').text().split(); console.log(categories); categories.forEach(function(i){ $(i).find('a[rel = "category tag"]') console.log(i); }) });En este momento mi salida en la consola es
Array [ "BusinessLeaderLeadershipPress" ] BusinessLeaderLeadershipPressQuiero dividir las categorías en una matriz con comas sin tener que usar separadores, límites o expresiones regulares porque tengo varias matrices aleatorias.
¿Hay alguna manera de que pueda usar un bucle forEach o for para lograr esto?
El resultado que quiero es [ "Empresa, Líder, Liderazgo, Prensa" ]
Gracias
sin tener que usar separadores, límites o expresiones regulares porque tengo múltiples matrices aleatorias.
Un enfoque simple usando for-loop con el algoritmo teniendo en cuenta que la cadena comienza con Mayúsculas : recorrer los caracteres de la cadena si el carácter no está en MAYÚSCULAS , acumular caracteres en word variable, hasta encontrar una letra mayúscula , luego empujarla en res Array.
const string = "BusinessLeaderLeadershipPress"; let i = 1; let character = ""; let word = string[0]; const res = []; while (i <= string.length) { character = string.charAt(i); if (character == character.toUpperCase()) { res.push(word); word = character; } else { word += character; } i++; } console.log(res); //['Business', 'Leader', 'Leadership', 'Press']Puede dividir una cadena mirando hacia adelante en busca de una letra mayúscula.
const string = 'BusinessLeaderLeadershipPress', result = string.split(/(?=[AZ])/); console.log(result);