Test case details

Preparation Code

var n, N, i, I, sparse = [],         full = [],         full2 = [];         N = 16384;     I = 8;         for (i = 0; i < I; i++) {       do {         n = (N * Math.random()) | 0;         if (n > (N - 1)) {           n = N - 1;         }       } while (sparse[n]);       sparse[n] = -100 + 200 * Math.random();     }     full.length = N;     full2.length = N;     for (i = 0; i < N; i++) {       if (typeof sparse[i] === "number") {         full[i] = sparse[i];         full2[i] = sparse[i];       } else {         full[i] = 0;         full2[i] = -100 + 200 * Math.random();       }     }

Test cases

Test #1

// async test var sum = 0; sparse.forEach(function(v, i) {   sum += v; });

Test #2

// async test var len = full.length, sum = 0; for (i = 0; i < len; i++) {   sum += full[i]; }

Test #3

// async test var len = full.length, sum = 0; full.splice(10, 1); for (i = 0; i < len; i++) {   sum += full[i]; }

Test #4

// async test var len = full2.length, sum = 0; for (i = 0; i < len; i++) {   sum += full2[i]; }