繁体   English   中英

.filter javascript 和定义变量

[英].filter javascript and defining variable

好的,如果人口少于 5,我正在尝试使用 .filter 方法提取动物的名称。 将 lowPop 设置为新数组,但它始终返回未定义。 我不知道为什么有人可以帮忙?

我附上了一张图片,以显示问题与我的代码一起提出的问题。 我知道我的 var 未定义,并且我的代码正在返回布尔值 true 或 false 响应。 预期的反应在图片中。 非常感谢任何帮助。

带有预期/错误图片的代码和问题

function lowPopulationAnimals(){
const lowPop = [];
zooAnimals.filter((element => {
lowPop.push(element.population <= 5 );
}));

console.log(lowPopulationAnimals);

注意:

filter() 方法创建一个新数组,其中包含通过提供的 function 实现的测试的所有元素。

它是用于创建一个新数组,而不是用于修改新数组。

此外,您不应在array.filter中使用pushfilter正在对数组运行测试,并为数组中通过测试的所有元素创建副本。

此外,您直接将 function_name 分配给console ,这是不正确的。

利用:

function lowPopulationAnimals(){
let lowPop = [];
 lowPop = zooAnimals.filter(element =>element.population <= 5 )
console.log(lowPop);
}

lowPopulationAnimals();

当您将 function 传递给另一个 function (正如您对“过滤”所做的那样)时,它会传递一个 function ,它只能访问您提供的数据。 调用过滤器时,它将每个元素传递给您提供的 function,如果它返回的值评估为 true,则保留它,否则将其删除。 查看回调函数,并在文档中查看此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM