You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Array原型even方法加参数失效,求助无参数实现方案

给Array原型添加even方法的正确实现

你不需要给这个方法加参数,因为在原型方法内部,this关键字会指向调用这个方法的数组实例。比如当你执行[1,2,3,4,5].even()时,方法里的this就是这个[1,2,3,4,5]数组。

正确的实现代码如下:

Array.prototype.even = function(){
  return this.filter(item => item % 2 === 0);
}

你之前尝试加arr参数但没生效,是因为调用方法时并没有传递数组参数,arr会是undefined。而原型方法的设计逻辑就是通过this来获取当前操作的对象,这是原型方法的核心特性之一。

测试一下:[1,2,3,4,5].even()会返回[2,4],完全符合需求。

内容的提问来源于stack exchange,提问作者Maolean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:15:31