Files
30-seconds-of-code/snippets/indexesOf.md
Rohit Tanwar 6ddc05464c Add examples
2018-01-06 14:01:23 +05:30

597 B

indexesOf

Returns an array of indexes at which the val occurs in arr. If it occurs only once return the index and if it never occurs returns -1

const indexesOf = (arr, val) => {
    let indexes = [], i;
    for(i = 0; i < arr.length; i++)
        if (arr[i] === val)
            indexes.push(i);
    return indexes.length === 0 ? -1 : indexes.length === 1 indexes.pop() : indexes
}
indexesOf([1,2,3],1); // 0
indexesOf([1,2,3,1,2,3],1); // [0,3]
indexesOf([1,2,3],4); // -1
indexesOf([[1,2,3]],[1,2,3]); // -1 (Array.prototype.indexOf()) has the same behaviour