如何在Array.Prototype和Object.Prototype上定义javascript中的

如何在Array.Prototype和Object.Prototype上定义javascript中的

我想在Array.Prototype和Object.Prototype上定义助手方法。我现在的计划是做这样的事:

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

所以我可以这样做:

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

它工作得很好,但是如果我在for in循环这些方法显示为值:

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

这会让其他依赖于for in只显示值(特别是在对象上)。后期版本的javascript有.map和.filter函数内置在数组中,但这些函数没有显示在for in循环。如何创建更多不会出现在for in


白衣非少年
浏览 507回答 3
3回答

月关宝盒

因为必须检查一下hasOwnProperty:for (var prop in arr) {    if (arr.hasOwnProperty(prop)) {      console.log(prop)    }}现在这个记录是1,2,3。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript