.filter javascript 和定义变量
.filter javascript and defining variable
好的,问题来了
如果人口少于 5,我正在尝试使用 .filter 方法提取动物的名称。将 lowPop 设置为新数组,但它总是以未定义的形式返回。我不确定为什么有人可以帮忙?
我附上了一张图片以显示问题的内容以及我的代码。我发现我的 var 是未定义的,我的代码返回布尔值 true 或 false 响应。预期的响应在图片中。非常感谢任何帮助。
code and question with expected/error pic
function lowPopulationAnimals(){
const lowPop = [];
zooAnimals.filter((element => {
lowPop.push(element.population <= 5 );
}));
console.log(lowPopulationAnimals);
注意:
The filter() method creates a new array with all elements that pass
the test implemented by the provided function.
用于创建新数组,不用于修改新数组。
此外,您不应在 array.filter
中使用 push
,filter
是对数组的测试 运行 并创建数组中所有元素的副本通过测试。
此外,您直接将 function_name 分配给 console
,这是不正确的。
使用:
function lowPopulationAnimals(){
let lowPop = [];
lowPop = zooAnimals.filter(element =>element.population <= 5 )
console.log(lowPop);
}
lowPopulationAnimals();
当您将一个函数传递给另一个函数时(就像您对“过滤”所做的那样),它会传递一个只能访问您提供的数据的函数。调用过滤器时,它会将每个元素传递给您提供的函数,如果它的值 returns 计算结果为真,则保留它,否则将其删除。查看回调函数,并查看文档中的 here。
好的,问题来了 如果人口少于 5,我正在尝试使用 .filter 方法提取动物的名称。将 lowPop 设置为新数组,但它总是以未定义的形式返回。我不确定为什么有人可以帮忙?
我附上了一张图片以显示问题的内容以及我的代码。我发现我的 var 是未定义的,我的代码返回布尔值 true 或 false 响应。预期的响应在图片中。非常感谢任何帮助。
code and question with expected/error pic
function lowPopulationAnimals(){
const lowPop = [];
zooAnimals.filter((element => {
lowPop.push(element.population <= 5 );
}));
console.log(lowPopulationAnimals);
注意:
The filter() method creates a new array with all elements that pass the test implemented by the provided function.
用于创建新数组,不用于修改新数组。
此外,您不应在 array.filter
中使用 push
,filter
是对数组的测试 运行 并创建数组中所有元素的副本通过测试。
此外,您直接将 function_name 分配给 console
,这是不正确的。
使用:
function lowPopulationAnimals(){
let lowPop = [];
lowPop = zooAnimals.filter(element =>element.population <= 5 )
console.log(lowPop);
}
lowPopulationAnimals();
当您将一个函数传递给另一个函数时(就像您对“过滤”所做的那样),它会传递一个只能访问您提供的数据的函数。调用过滤器时,它会将每个元素传递给您提供的函数,如果它的值 returns 计算结果为真,则保留它,否则将其删除。查看回调函数,并查看文档中的 here。