Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
¿Cómo cuento el número de combinaciones de palabras de una serie de oraciones?

¿Qué función js puede resolver el siguiente problema?

 ["lemon hy te", "tracy austin", "tracy austin mk3", "ford mondeo mk3"]

Arriba verá una lista de 4 oraciones en una matriz. Las oraciones constan de más de 1 palabra. Habrá de 100000 a 200000 oraciones en la matriz.

paso 1) Para cada valor en la matriz, haga lo siguiente. Divide la oración por palabra y agrega el resultado a la variable resultArr.

Entonces de esta manera: "lemon" "hy" "te"

 let resultArr = []

paso 2) Luego divida la misma oración en cada combinación de dos palabras sin cambiar el orden de la oración y agregue el resultado a la variable resultArr.

Entonces de esta manera: "lemon hy" "hy te"

paso 3) Luego divida la misma oración en cada combinación de tres palabras sin cambiar el orden de la oración y agregue el resultado a la variable resultArr.

Entonces de esta manera: "lemon hy te"

En el paso 4, 5, 6, 7, etc., repita este patrón. Si una oración consta de 4 palabras, en el paso 7, por ejemplo, no necesita agregar la palabra completa a la matriz nuevamente. Eso ya se hizo en el paso 4.

La variable resultArr ahora contiene lo siguiente ["lemon", "hy", "te", "lemon hy", "hy te", "lemon hy te"]

A continuación, me gustaría saber cuántas veces aparece cada combinación de palabras en resultArr. En este caso, el resultado sería el siguiente.

resultado 1:

 [["lemon", 1] ["hy", 1], ["te", 1], ["lemon hy", 1] ["hy te", 1], ["lemon hy te", 1]]

Si el resultado contiene la misma combinación de palabras con el número dos veces como se muestra en el ejemplo a continuación, se puede eliminar 1 vez ["hy", 1] dejando ["hy", 1] 1 vez.

resultado 2:

 [["lemon", 1]] ["hy", 1]] ["hy", 1], ["te", 1], ["lemon hy", 1] ["hy te", 1], ["lemon hy te", 1]]

Ahora, para lo último, la función debería llamarse getWordCombos(range, minAmountOfWords, maxAmountOfWords). Como habrás notado, los dos últimos argumentos no fueron explicados por mí.

Supongamos que ingreso 4 y 12, entonces la función a la que llamo se parece a esto. getWordCombos(rango, 4, 12) entonces solo se deben ejecutar los pasos 4 a 12 descritos anteriormente.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esta es mi respuesta:

 function getWordCombos(list, minWords, maxWords){ let resultArr = []; let temp = []; maxWords += 1; for(let words = minWords; words < maxWords; words++){ for(let l of list){ temp = l.slice().split(" "); if(temp.length + 1 < words){ continue; } while(temp.length + 1 > words){ resultArr.push([temp.slice(0, words).join(" "), 1]) for(let r = 0; r < words; r++){ temp.shift(); } } } } for(let w in resultArr){ for(let ws in resultArr){ if(w == ws){ continue; } if(resultArr[w][0] == resultArr[ws][0]){ resultArr.splice(ws, 1); resultArr[w][1]++; } } } return resultArr; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda