JSFiddle - React, Tailwind, and code Playground

by alexflav23

JavaScript

var my_array = [ 
    {'done': true, 'name': 'something'},
                {'done': false, 'name': 'do homework'}, 
                {'done': true, 'name': 'buy some food'}
               ];
var my_object = {'done': true, 'name': 'do homework'};

Array.prototype.customIndexOf = function(a, d) {
   var matcher = d || defaultMatcher;
   for (var c = this.length, b = (c + ~~b) % c; b < c && (!(b in this || matcher(this[b], a))); b++);
   return b ^ c ? b : -1;
}

function matcher(a, b) {
    return a.name.localeCompare(b.name);
};
function defaultMatcher(a, b) {
    return a === b;
};
console.log(my_array.customIndexOf(my_object, matcher));