Search code examples
javascriptarrayslodash

Vanilla Javascript equivalent for lodash _.includes


I'm using the lodash includes function to check if a target value exists in an array...

_.includes(array, target) 

and was hoping to find a good equivalent in ES5 (or ES6)

Did I miss something? Is there no ES5 Array.prototype equivalent?

Or is my only option to use indexOf?


Solution

  • ES2016: Array.prototype.includes()

    [1, 2, 3].includes(2);     // true
    

    ES5: Array.prototype.indexOf() >= 0

    [2, 5, 9].indexOf(5) >= 0;   // true
    [2, 5, 9].indexOf(7) >= 0;   // false
    

    If you prefer a function:

    function includes (array, element) { return array.indexOf(element) >= 0 }
    

    and use it as:

    includes([2, 5, 9], 5);    // true