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?