Test name | Executions per second |
---|---|
lodash omit for 3 keys | 582483.4 Ops/sec |
native for in loop for 3 keys | 3575706.0 Ops/sec |
lodash omit for 2 keys | 519432.3 Ops/sec |
native for in loop for 2 keys | 3290181.5 Ops/sec |
lodash omit for 1 keys | 522757.9 Ops/sec |
native for in loop for 1 keys | 2997678.2 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js'></script>
var allHeaders = {
'Accept-Encoding': 'gzip,deflate',
'Accept-Language': 'en-US',
'Content-Type': 'application/json',
'User-Agent': `(compatible; Mozilla/5.0; MSIE 9.0; Trident/5.0;})`,
'Proxy-Connection': 'Keep-Alive',
Connection: 'Keep-Alive',
Accept: 'application/hal+json, application/json',
};
function omit(obj, keys) {
var result = {};
for (let i in obj) {
if (keys.indexOf(i) >= 0) continue;
result[i] = obj[i];
}
return result;
}
_.omit(allHeaders, ['Accept-Encoding', 'User-Agent', 'Connection']);
omit(allHeaders, ['Accept-Encoding', 'User-Agent', 'Connection']);
_.omit(allHeaders, ['Accept-Encoding', 'Connection']);
omit(allHeaders, ['Accept-Encoding', 'Connection']);
_.omit(allHeaders, ['Connection']);
omit(allHeaders, ['Connection']);