Jak zdefiniować metodę w javascript na Array.prototype i Object.prototype, aby nie pojawiała się w pętli in

Chcę zdefiniować metody pomocnicze w Array.prototype i Object.prototype. Mój obecny plan to zrobić coś takiego:

Array.prototype.find = function(testFun) {
   // code to find element in array
};

Aby to zrobić:

var arr = [1, 2, 3];
var found = arr.find(function(el) { return el > 2; });

Działa dobrze, ale jeśli pętlę nad tablicą wfor in pętla metody pojawiają się jako wartości:

for (var prop in arr) { console.log(prop); }
// prints out:
// 1
// 2
// 3
// find

To spieprzy każdego, kto będzie polegał nafor in po prostu pokazywać wartości (zwłaszcza na obiektach). Późniejsze wersje javascript mają wbudowane funkcje .map i .filter, ale te nie są wyświetlanefor in pętle. Jak mogę utworzyć więcej takich metod, które nie pojawią się wfor in pętla?

questionAnswers(3)

yourAnswerToTheQuestion