相关疑难解决方法(0)

1761
推荐指数
23
解决办法
82万
查看次数

如何在Array.prototype和Object.prototype上的javascript中定义方法,以便它不会出现在for循环中

我想在Array.prototype和Object.prototype上定义辅助方法.我目前的计划是做类似的事情:

Array.prototype.find = function(testFun) {
   // code to find element in array
};
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

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

它工作正常,但如果我在循环中循环数组,for in方法显示为值:

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

这将搞砸任何依赖于for in显示值的人(尤其是对象).更高版本的javascript具有内置于数组中的.map和.filter函数,但这些函数不会出现在for in循环中.如何创建更多不会出现在for in循环中的方法?

javascript function

12
推荐指数
2
解决办法
9907
查看次数

标签 统计

javascript ×2

arrays ×1

for-loop ×1

function ×1

iteration ×1

loops ×1