我们如何在JavaScript中找到一个单词而不在file.txt中找到HTML?

我们如何在JavaScript中找到一个单词而不在file.txt中找到HTML?,javascript,html,Javascript,Html,在我的项目中,我试图在文件中找到一些单词,我用JS编写了程序,但我有一些语法问题,我不知道为什么。目标是当程序找到它写在终端“花”上的“玫瑰”时。 我的计划是: var fs = require('fs'); var str = fs.readFileSync('input.txt', 'utf8'); str.split(/\s+/).forEach(s => console.log( s === 'rose' ? 'flower' : s ===

在我的项目中,我试图在文件中找到一些单词,我用JS编写了程序,但我有一些语法问题,我不知道为什么。目标是当程序找到它写在终端“花”上的“玫瑰”时。 我的计划是:

var fs = require('fs');
var str = fs.readFileSync('input.txt', 'utf8');

str.split(/\s+/).forEach(s =>
  console.log(
    s === 'rose'
      ? 'flower'
      : s === 'bird'
      ? 'animal'
      : s === 'cookie'
      ? 'dog'
      : 'unknown'
  )
);
终端上出现的不同错误有:

  js: "prog.js", line 5: syntax error
js: str.split(/\s+/).forEach(s =>
js: ............................^
js: "prog.js", line 6: syntax error
js:   console.log(
js: ..........^
js: "prog.js", line 7: syntax error
js:     s === 'rose'
js: ........^
js: "prog.js", line 9: syntax error
js:       : s === 'bird'
js: .......^
js: "prog.js", line 11: syntax error
js:       : s === 'cookie'
js: .......^
js: "prog.js", line 13: syntax error
js:       : 'unknown'
js: .......^
js: "prog.js", line 15: syntax error
js: );
js: ^
js: "prog.js", line 1: Compilation produced 7 syntax errors.
要运行该程序,我使用以下命令:
rhino prog.js


那么,你能帮我找到错误吗?

你得到错误是因为Rhino目前不支持箭头函数:ie
()=>{…}

见:

你很幸运,这很容易解决!只需删除箭头功能;这应该起作用:

var fs = require('fs');
var str = fs.readFileSync('input.txt', 'utf8');

str.split(/\s+/).forEach(function (s) {
  return console.log(s === 'rose' ? 'flower' : s === 'bird' ? 'animal' : s === 
'cookie' ? 'dog' : 'unknown');
});

您使用的Rhino版本不支持箭头功能;可能没有任何版本的Rhino会这样做。如果您在浏览器之外使用JavaScript,除了Node之外的任何东西都可能是错误的(2018年)。@Pointy,好的,我明白,那么您可以提出什么样的解决方案吗?@cpeUser2018正如Pointy已经说过的,使用Node而不是Rhino下载最新版本的,并使用此命令运行脚本
Node prog.js
。您使用的是哪个版本的Rhino?看看这个:我试过类似的方法,但是我有这个错误,我不明白为什么:
js:uncaught JavaScript运行时异常:ReferenceError:“require”没有定义。
如果您还没有设置,您需要在项目中使用
require.js
。更具体地说,请确保使用Rhino的
r.js
,这是
require.js
的修改版本。看到了吧:多亏了你的帮助,我才能够正确地解决这个问题