Test case details

Preparation Code

<script src="//underscorejs.org/underscore-min.js"></script><script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
var foo = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30];         var bar = [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 26, 27, 28, 29, 30];

Test cases

Test #1

var baz = []; foo.forEach(function(key) {     if (-1 === bar.indexOf(key)) {         baz.push(key);     } }, this);

Test #2

var bar2 = {}, baz = []; bar.forEach(function(key) {   bar2[key] = true; }, this); foo.forEach(function(key) {     if (!bar2[key]) {         baz.push(key);     } }, this);

Test #3

var baz = []; $.each(foo, function(key) {     if (-1 === bar.indexOf(key)) {         baz.push(key);     } });

Test #4

var baz = _.difference(foo, bar);