Código de JavaScript - Obtener las palabras mas usadas en un texto

Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener las palabras mas usadas en un textográfica de visualizaciones


JavaScript

Publicado el 27 de Diciembre del 2019 por Katas (200 códigos)
854 visualizaciones desde el 27 de Diciembre del 2019
Escriba una función que, dada una cadena de texto (posiblemente con puntuación y saltos de línea), devuelva una matriz de las 3 palabras más frecuentes, en orden descendente del número de ocurrencias.

Suposiciones
- Una palabra es una cadena de letras (de la A a la Z) que opcionalmente contiene uno o más apóstrofes (') en ASCII. (No es necesario manejar puntuación elegante).
- Las coincidencias deben ser insensibles a mayúsculas y minúsculas y las palabras en el resultado.
Los lazos pueden romperse arbitrariamente.
- Si un texto contiene menos de tres palabras únicas, se deben devolver las palabras top-2 o top-1, o una matriz vacía si un texto no contiene palabras.

1
2
3
4
5
6
topThreeWords("In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing. An olla of rather more beef than mutton, a salad on most nights, scraps on Saturdays, lentils on Fridays, and a pigeon or so extra on Sundays, made away with three-quarters of his income."); // ["a", "of", "on"]
topThreeWords("e e e e DDD ddd DdD: ddd ddd aa aA Aa, bb cc cC e e e"); // ["e", "ddd", "aa"]
topThreeWords("  //wont won't won't"); // ["won't", "wont"]
topThreeWords("  , e   .. "); // ["e"]
topThreeWords("  ...  "); // []
topThreeWords("  '  "); // []

1

Publicado el 27 de Diciembre del 2019gráfica de visualizaciones de la versión: 1
855 visualizaciones desde el 27 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
function topThreeWords(text) {
    text=text.replace(/[^a-z ']/gim, '').toLowerCase().split(' ');
    count={};
    text.forEach(el => {if (el!="" && el!="'") count[el]=(count[el] || 0) + 1;});
    return Object.keys(count).sort((a,b) => count[b]-count[a]).slice(0,3);
}



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5760