Это будет работать, потому что сначала будут идентифицированы все существительные:
doc.match("#Noun").nouns().toPlural().out("normal");
edit
Я вижу, откуда возникла проблема.Взгляните ниже на два журнала консоли:
const nlp = require("compromise")
let doc = nlp("a man and 3 cat")
doc.match("#Noun").nouns().toPlural()
console.log(doc.out("normal")) // "a man and 3 cats"
let doc2 = doc.match("#Noun").nouns().toPlural()
console.log(doc2.out("normal")) // "man cats"
Обратите внимание, что во втором примере я сохраняю его в новую переменную.Поэтому я думаю, что .match("#Noun")
не был необходим, и вы были правы с первого раза - просто не сохраняйте его в finalStr
.