Remove item from array - splice vs lodash.without (v6)

Revision 6 of this benchmark created on


Preparation HTML

<script src="//rawgithub.com/lodash/lodash/master/dist/lodash.min.js">
</script>

Setup

var members = ['user 1', 'user 2', 'user 3', 'user 4', 'user 5', 'user 6', 'user 7', 'user 8', 'user 9', 'user 10', 'user 11', 'user 12', 'user 13', 'user 14', 'user 15', 'user 16', 'user 17', 'user 18', 'user 19', 'user 20'];
    
    var username = 'user 17';

Test runner

Ready to run.

Testing in
TestOps/sec
For loop
var newMembers = [];

for (var i = 0, l = members.length; i < l; i++) {
  if (members[i] !== username) {
    newMembers.push(members[i]);
  }
}

members = newMembers;
ready
Splice
for (var i = 0, l = members.length; i < l; i++) {
  if (members[i] === username) {
    members.splice(i, 1);
    return;
  }
}
ready
lodash
members = _.without(members, username);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.