我有以下目标:编写一个名为的 JavaScript 函数filter
,该函数接收一个数字数组作为参数,并返回一个数字大于 10 的新数组。
filter([3, 12, 45, 7]); // retorna [12, 45]
filter([3, 5]); // retorna []
如何返回这些数字大于 10 的新数组?
我的代码是这样的:
function filter (array){
var cont = 0;
for (let i=0; i< array.length; i++){
if(array[i] >= 10 ){
cont = cont++;
}
}
return [cont];
}
let resultado = filter([3, 12, 45, 7]);
console.log(resultado);
它与您所做的完全相同,只是您必须将其更改
cont
为数组并添加元素:尽管另一种选择是您使用
.filter
Javascript 方法来过滤元素:您拥有逻辑权的第一部分,即
array
通过参数接收的那个来确定每个元素是否大于 10(请注意,>=
它不应该是,因为它大于 10 或 > 10),您缺少的是在array
找到这些值时创建新的值:我们创建一个
array
void (所以我们可以稍后调用该方法push
),如果我们找到一个值大于 10 的元素,那么我们push
将元素放入array
其中(我们插入元素)。您可以做的是过滤器函数中的一个内部数组,并返回该数组。
Array
默认原型包括filter方法,它完全符合您的要求。返回一个新Array
的,其中包含满足给定条件的初始 Array 的元素。这样,您所要做的就是
item > 10
在过滤器中传递条件。使用您的相同示例,我给您留下一个测试。
有一种更简单的方法可以返回大于 10 的数字:
这将返回:
在过滤器内部,您可以提供所需的条件。我希望它对你有帮助。