Javascript 检查数组的元素是否与以下内容相同

Javascript 检查数组的元素是否与以下内容相同,javascript,node.js,Javascript,Node.js,我正在创建一个将pdf解析为文本的服务。当我有文本时,我必须匹配一个单词数组。每次比赛时,它都会增加一个计数器。到现在为止,一直都还不错。困难在于,在解析文本时,我无法检查我在pdf的哪一页。我意识到,在拆分中,每次有两个连续的换行符(/n/n),这意味着页面发生了更改 我想做的是检查页面是否已被更改,并且,除了计算一个单词被发现的总次数外,还要说明它在哪些页面上被发现 范例 let data = `resignations / resignations. adm. mancom .: ber

我正在创建一个将pdf解析为文本的服务。当我有文本时,我必须匹配一个单词数组。每次比赛时,它都会增加一个计数器。到现在为止,一直都还不错。困难在于,在解析文本时,我无法检查我在pdf的哪一页。我意识到,在拆分中,每次有两个连续的换行符(/n/n),这意味着页面发生了更改

我想做的是检查页面是否已被更改,并且,除了计算一个单词被发现的总次数外,还要说明它在哪些页面上被发现

范例

let data =  `resignations / resignations. adm. mancom .: berenguer llinares
appointments. adm. unique: calvo valenzuela. other concepts: change of the administrative body:
joint administrators to sole administrator. change of registered office. ptda colomer, 6

Official Gazette of the Commercial Registry
no. 182 Friday, September 18, 2020 p. 33755
cve: borme-a-2020-182-03 verifiable in
sarria). registry data. t 2257, f 100, s 8, h a 54815, i / a 4 (10.09.20) .`



let wordsToSearch = ['resignations', "administrators"]

    wordsToSearch.forEach((word) => {
// inside of here would like to have track of the page as well
        let stringArray = data.split(' ');
        let count = 0;
        let result = ""
        for (var i = 0; i < stringArray.length; i++) {
            let wordText = stringArray[i];
            if (new RegExp(word).test(wordText)) {
                count++
            }
        }
        // the expected result would word has appeared count times in the pages etc
        result += `${word} has appeared ${count} times\n`
        console.log(result)
        /*
        resignations has appeared 2 times

        administrators has appeared 1 times
        */
    })

let data=`辞职/辞职。曼科姆上将:贝伦格尔·利纳雷斯
约会。独特行政:卡尔沃·瓦伦苏埃拉。其他概念:行政机构的变更:
联合管理员对唯一管理员。变更注册办事处。ptda colomer,6
商业登记处官方公报
第182号,2020年9月18日(星期五)。33755
cve:borme-a-2020-182-03可在中验证
萨里亚)。注册表数据。t 2257、f 100、s 8、h a 54815、i/a 4(10.09.20)`
让wordsToSearch=[“辞职”,“管理员”]
wordsToSearch.forEach((word)=>{
//在这里,我想有一个网页的轨道以及
设stringArray=data.split(“”);
让计数=0;
让result=“”
对于(var i=0;i

如果有人也想出了另一种方法,那就太好了

你可以在那些双线分隔处拆分文本,然后分别分析每一页。我会这样做:

let data=`辞职/周五辞职。曼科姆上将:贝伦格尔·利纳雷斯
约会。独特行政:卡尔沃星期五瓦伦苏埃拉。其他概念:行政机构的变更:
联合管理员对唯一管理员。变更注册办事处。ptda colomer,6号,星期五
商业登记处官方公报
第182号,2020年9月18日(星期五)。33755
cve:borme-a-2020-182-03可在中验证
萨里亚)。注册表数据。t 2257、f 100、s 8、h a 54815、i/a 4(10.09.20)`
函数分析文本(文本、单词查找){
const pages=data.split(“\n\n”);
const result={};
对于(让pageIndex=0;pageIndexresult[k]);
}
功能分析页(页面、单词查找、结果){
常数{
页面文本,
当前页
}=第页;
wordsToFind.forEach(word=>{
常量计数=(pageText.match(新的RegExp(单词'g'))| |[])长度;
如果(计数>0){
如果(!结果[字]){
结果[字]={
姓名:word,
页面索引:[],
计数:0
};
}
结果[word].PageIndexs.push(pageIndex);
结果[word]。计数+=计数;
}
});
}
const result=analyseText(数据,['resignations','administrators','freday']);

控制台日志(结果)分析页面
函数-我已编辑了答案。太棒了,非常感谢。最后一个问题,因为我是JS的新手。在foreach中的每次迭代中,是否可以聚合像这样的最终对象?只是为了在以后形成正确的输出
let arrayPages=[]如果(count!==0){arrayPages.push(pageIndex)}let objectFinal={word:word,pages在其中找到单词:arrayPages,howManyTimeswhatFound:count}
再次更新它,请别忘了接受答案。将所有结果连接到一个最终对象数组中?最感兴趣的是pages索引的属性,这是一个页面数组,在这里可以找到[1,3,7]