Test name | Executions per second |
---|---|
lodash omit for 3 keys | 486850.2 Ops/sec |
native for in loop for 3 keys | 2951336.8 Ops/sec |
lodash omit for 2 keys | 387868.8 Ops/sec |
native for in loop for 2 keys | 2247501.0 Ops/sec |
lodash omit for 1 keys | 402476.4 Ops/sec |
native for in loop for 1 keys | 2154119.0 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']);