返回数组中项目长度总和的函数运行速度更快,首先映射到数组上,然后减少
问题描述:
我认为如果我想总结数组中元素的长度,可以使用一个简单的arr.join(''' ).length将比在数组上映射更快,然后减少总和。有关为什么映射和缩减比加入更快的想法?返回数组中项目长度总和的函数运行速度更快,首先映射到数组上,然后减少
答
的jsperf链接加入字符串数组将涉及构建新的字符串,可能是多个中间串,只能算自己到底长。
映射和减少只涉及计数和算术,这大概比加入字符串时涉及的内存分配和复制更快。
你试过吗?arr.reduce((r,el)=> r + el.length,0)'?嘿,他们正在谈论5%,这是浏览器的依赖,所以你为什么关心? –
我只是想明白。我知道只是减少 - 上面的代码片段更快。 –
Theres没有任何理解。这是由于一些js引擎深深地嵌套代码,没有人能够给出准确的答案。 –