NodeJSで数百万回のループが実行されていますが、他の多くのオブジェクトではいくつかのオブジェクトからいくつかの望ましくないプロパティが取り除かれています。プロパティを削除するか、目的のプロパティだけを使って新しいオブジェクトを作成する方が速いのですか?
私はそれを行うには高速であるかどうか、一般的に知って興味:
undesiredPropsArray.forEach(p => delete(obj[p]))
または
var newObj = {};
Object.keys(obj).forEach(p => { if (!undesiredPropsObj[p]) newObj[p] = obj[p] });
単にテストを実行すると、それは多分言うほど簡単ではありません、ので、所望の特性および望ましくない特性の数が変化する。
一般的には標準では何べきについて何も言いませんより速くなる。つまり、実装に依存していることを意味します。また、他のすべてのランタイムバージョンで変更できることを意味します。 – zerkms
Lodashにはこれを行うfnがあり、libはかなりパフォーマンス中心です。私はそれがアイデアを得るためのソースをチェックしたいと思います。 https://lodash.com/docs/4.17.4#pick –