Run details:
Mozilla/5.0 (Linux; Android 11; SM-A505G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Mobile Safari/537.36
Chrome Mobile 98
Android
Mobile
3 years ago
Test name Executions per second
For Loop for item towards beginning 2026261.0 Ops/sec
While Loop for item towards beginning 2015376.5 Ops/sec
indexOf for item towards beginning 2002036.9 Ops/sec
For Loop for item towards end 1598366.4 Ops/sec
While Loop for item towards end 1509987.9 Ops/sec
indexOf for item towards end 2000589.9 Ops/sec
Script Preparation code:
x
 
var arr = ['apple', 'banana', 'cherry', 'donuts', 'eggplant', 'french fries', 'goulash', 'hamburger', 'ice cream', 'juice', 'kebab', 'lemonade', 'mango', 'nuts', 'octopus', 'parsley', 'quail egg', 'risotto', 'stew', 'tapas', 'udon', 'vanilla', 'wheat', 'xylotil', 'yogurt', 'zucchinni'];
function forLoop(array, item) {
    for (var i = 0; i < array.length; i++) {
        if (array[i] === item) {
          return i;
        }
    }
    return -1;
}
function whileLoop(array, item) {
    var i = 0;
    while (i < array.length) {
        if (array[i] === item) {
            return i;
        }
        i += 1;
    }
    return -1;
}
function indexOfNative(array, item) {
    return array.indexOf(item);
}
Tests:
  • For Loop for item towards beginning

     
    forLoop(arr, 'donuts')
  • While Loop for item towards beginning

     
    whileLoop(arr, 'donuts')
  • indexOf for item towards beginning

     
    indexOfNative(arr, 'donuts')
  • For Loop for item towards end

     
    forLoop(arr, 'yogurt')
  • While Loop for item towards end

     
    whileLoop(arr, 'yogurt')
  • indexOf for item towards end

     
    indexOfNative(arr, 'yogurt')