JSFiddle - React, Tailwind, and code Playground
by harperj1029
JavaScript
// Original code:
Array.prototype.contains = function(obj, equality) {
for (var i = 0; i < this.length; i++) {
if (equality) {
return equality(this[i], obj);
}
else if (this[i] == obj) {
return true;
}
}
return false;
};
var equality = function(item1,item2){
return item1 === item2;
};
var myArray = [1,2,3,4,5];
// Should be true;
document.write('Original contains (3): ' + myArray.contains(3,equality) + '<p/>');
// However, this does work (as the default equality code is run):
document.write('Original contains without equality param (3): ' + myArray.contains(3) + '<p/>');
/* NEW VERSION */
Array.prototype.contains = function(obj, equality) {
equality = equality || function(item1,item2){
return item1 == item2;
};
for (var i = 0; i < this.length; i++) {
if (equality(this[i],obj)) {
return true;
}
}
return false;
};
document.write('New contains (3): ' + myArray.contains(3,equality));