首页 > 解决方案 > array.filter 似乎根本不起作用?

问题描述

将要遵循的 javascript 的 HTML

<button onclick="myFunction()">Click</button>
<p id="demo"></p>

正在工作的javascript是

var ages = [32, 33, 16, 40];

function checkAdult(age) {
  return age >= 18;
}

function myFunction() {
  document.getElementById("demo").innerText = ages.filter(checkAdult);
}

没问题。但是下面的这段代码似乎不起作用。

var ages = [32, 33, 16, 40];

function myFunction() {
  document.getElementById("demo").innerText = ages.filter(function(checkAdult){
    checkAdult > 18;
  });
}

我想知道为什么它不起作用以及如何使它起作用?

标签: javascripthtmlarraysfilter

解决方案


您在函数中不返回任何内容。编写箭头函数或使用return关键字:

let ages = [32, 33, 16, 40];

function myFunction() {
  document.getElementById("demo").innerText = ages.filter(checkAdult => checkAdult > 18);
}

推荐阅读