首页 > 解决方案 > JavaScript 中基于原型的函数

问题描述

我刚刚在一家公司面试,他们要求我实施类似 xyz.odd().

它应该是这样的:

let arr=[1,2,1,2];
arr=arr.odd();// this array will contain all odd numbers [1,1]

我试过了,但最终写了一个函数,我在其中传递了数组,但这不是预期的。我没有被要求在函数中传递任何值或数组。

标签: javascript

解决方案


您可以执行类似以下代码的操作来创建可用于所有实例的原型方法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());


推荐阅读