地图功能效率低下吗?



我正在学习一些效率代码。 我做下一个代码。 映射函数返回结果的速度较慢。 https://i.stack.imgur.com/oVSBw.png

我做错了什么?

var user = [
{
name: 'Sebastian',
age: 19
},
{
name: 'Gabriela',
age: 51
},
{
name: 'Julian',
age: 19
}
]
console.time('map');
user.map(item => console.log(item.name));
console.timeEnd('map');
console.log('n');
console.time('for');
for (var i = 0; i < user.length; i++) {
console.log(user[i].name);
}
console.timeEnd('for');

从根本上说,JavaScript不是一种编程语言,以最干净的方式做某事也是最有效的方法。C、D 和 C++ 是这样设计的语言。

如果你研究一下 V8 的内部结构,你会发现 map 必须处理数组孔,这使得它变慢。

不,它不是低效的。您正在将map与正常for进行比较。.map从外部范围添加了一个抽象层,与正常for相比,执行时间增加了。

最新更新