typestar

word-count.js en JavaScript

Un script completo de frecuencia de palabras: leer un archivo, normalizar, contar, reportar.

import { readFile } from "node:fs/promises";
import process from "node:process";

async function wordCount(path) {
  const text = await readFile(path, "utf8");
  const counts = new Map();
  for (const raw of text.split(/\s+/)) {
    const word = raw.replace(/[.,!?;:]/g, "").toLowerCase();
    if (word) counts.set(word, (counts.get(word) || 0) + 1);
  }
  return [...counts.entries()].sort((a, b) => b[1] - a[1]);
}

const path = process.argv[2];
if (!path) {
  console.error("usage: node word-count.js FILE");
  process.exit(1);
}
for (const [word, count] of (await wordCount(path)).slice(0, 10)) {
  console.log(String(count).padStart(6), word);
}

Palabras clave y builtins usados aquí

El intento, en números

Líneas
21
Caracteres a escribir
626
Tokens
196
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 112 segundos.

Escribe este fragmento

Paso 1 de 1 en Bis; paso 43 de 43 en Fundamentos del lenguaje.

← Anterior