最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

删除属性或构造仅具有所需属性的新对象是否更快?

运维笔记admin13浏览0评论

删除属性或构造仅具有所需属性的新对象是否更快?

删除属性或构造仅具有所需属性的新对象是否更快?

在NodeJS中,我有一个循环被执行数百万次,其中许多东西从一些对象中剥离了一些不需要的属性。

我很想知道一般来说,做得更快:

undesiredPropsArray.forEach(p => delete(obj[p]))

要么

var newObj = {};
Object.keys(obj).forEach(p => { if (!undesiredPropsObj[p]) newObj[p] = obj[p] });

简单地运行测试并不像听起来那么简单,因为所需和不需要的属性的数量会有所不同。

回答如下:

如果您暂时假设每个命令都花费相同的时间来执行,那么执行命令较少的任务将执行得更快。换句话说,如果您希望保留较少的不受欢迎的属性,那么删除应该更快(反之亦然)。虽然,除非我们谈论处理了大量的巨大物体,否则节省的时间将是疏忽的。我认为 :)

发布评论

评论列表(0)

  1. 暂无评论