javascript - JavaScript 中基于原型的函数
问题描述
我刚刚在一家公司面试,他们要求我实施类似 xyz.odd()
.
它应该是这样的:
let arr=[1,2,1,2];
arr=arr.odd();// this array will contain all odd numbers [1,1]
我试过了,但最终写了一个函数,我在其中传递了数组,但这不是预期的。我没有被要求在函数中传递任何值或数组。
解决方案
您可以执行类似以下代码的操作来创建可用于所有实例的原型方法Array
:
Array.prototype.odd = function() {
return this.filter(el => el % 2 === 1);
}
//Examples:
var arr = [1, 2, 1, 2];
var arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.odd());
console.log(arr2.odd());
推荐阅读
- java - 将属性添加到已经从该抽象类扩展的抽象类
- javascript - 返回函数返回Mysql数据
- c++ - 传递空初始值设定项列表时使用右值和左值引用候选者重载分辨率
- sql - 更新查询,其中我有每个 id 的 id 列表,我想获得最高的日期时间
- python - 如何在pygame中进行平滑移动+旋转?
- javascript - 如何使用 JS 更改 CSS 高度?
- javascript - 在javascript对象上使用切片来循环除前两个之外的所有元素?
- amazon-web-services - 将 Fargate 应用程序分组到 ECS 集群下的通常依据是什么?
- python - 如何使用 CSV 数据沿 X 轴并排绘制条形图
- oracle-apex - 在 Oracle Apex 经典报告中显示星级