Javascript 如何优化代码,使其有效运行?

Javascript 如何优化代码,使其有效运行?,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我正在尝试优化我的代码,以便它运行得更快。这是代码的一部分,但它基本上是从网站获取一组数据,找到特定值,然后在console.log中打印出来 我的目标是优化我的代码,使我的代码和处理时间更短 const result=wait page.evaluate(()=>{ const tds=Array.from(document.queryselectoral('.table暗行td b')) 返回tds.map(td=>td.innerText) }); //从网站的元素中获取数据 so='已

我正在尝试优化我的代码,以便它运行得更快。这是代码的一部分,但它基本上是从网站获取一组数据,找到特定值,然后在console.log中打印出来

我的目标是优化我的代码,使我的代码和处理时间更短

const result=wait page.evaluate(()=>{
const tds=Array.from(document.queryselectoral('.table暗行td b'))
返回tds.map(td=>td.innerText)
}); //从网站的元素中获取数据
so='已发行股份:'+结果[4];
sf='股票浮动:'+结果[10];
shof='短浮点:'+结果[16];
sr='短期比率:'+结果[24];
控制台日志(so、sf、shof、sr)//等待浏览器关闭();

});
当您引用
结果[i]
时,实际上不会多次获取页面,因此不必担心多次包含它

您可以重构to,以便编写得更简洁。注意:您不会真正注意到两者之间的性能差异,它只会看起来更干净
$$eval
在引擎盖下运行相同的JavaScript方法:

[…]在页面内运行
Array.from(document.querySelectorAll(selector))
,并将其作为第一个参数传递给pageFunction

所以你可以这样使用它:

const results=wait page.$$eval('.table暗行td b',tds=>tds.map(td=>td.innerText))

如果您的表现不佳,这应该是脚本的另一部分。

那么目标是什么?优化它还是让目标更清晰?这两个人并不总是齐头并进。另外,不清楚“多次抓取”是什么意思,代码中没有这方面的痕迹。。。。然后在函数中可以执行以下操作:
returndocument.queryselectoral(“.table暗行td b”).map((td)=>td.innerText)抱歉,我做了编辑,我想优化我的代码,因此,处理时间要短得多,我相信放置数组更好,但我不明白,谢谢澄清