You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JS脚本中引入txt文本文件以统计字符串中重复单词数量

解决方案

JS加载本地文本文件的实现分两种常见运行场景,对应不同实现方式:

1. Node.js 本地脚本运行场景

直接用Node内置的fs文件模块读取同目录下的TextFile2.txt即可,完整代码如下:

const fs = require('fs');

// 同步读取文本文件内容,指定编码为utf-8拿到字符串格式结果
const rawText = fs.readFileSync('./TextFile2.txt', 'utf8');
// 去掉文本首尾自带的双引号和多余空白,得到纯统计内容
const words = rawText.replace(/^"|"$/g, '').trim();

function countRepeatedWords(sentence) {
  let words = sentence.split(" ");
  let wordMap = {};

  for (let i = 0; i < words.length; i++) {
    let currentWordCount = wordMap[words[i]];
    let count = currentWordCount ? currentWordCount : 0;
    wordMap[words[i]] = count + 1;
  }
  return wordMap;
}

console.log(countRepeatedWords(words));

在终端执行node 你的脚本文件名.js即可输出统计结果。

2. 浏览器端运行场景

浏览器出于安全限制不能直接读取本地磁盘文件,需要通过fetch接口请求静态资源形式加载文本文件,完整代码如下:

async function runCount() {
  // 按静态资源部署路径请求TextFile2.txt
  const res = await fetch('./TextFile2.txt');
  const rawText = await res.text();
  const words = rawText.replace(/^"|"$/g, '').trim();

  function countRepeatedWords(sentence) {
    let words = sentence.split(" ");
    let wordMap = {};

    for (let i = 0; i < words.length; i++) {
      let currentWordCount = wordMap[words[i]];
      let count = currentWordCount ? currentWordCount : 0;
      wordMap[words[i]] = count + 1;
    }
    return wordMap;
  }

  console.log(countRepeatedWords(words));
}

runCount();

注意需要本地启动静态服务运行页面,直接打开本地HTML文件会触发跨域限制导致读取失败。

内容的提问来源于stack exchange,提问作者Eero Jyrgenson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:48:02