将要遵循的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;
});
}
我想知道为什么它不起作用以及如何使它起作用?
答案 0 :(得分:2)
您在函数中不返回任何内容。编写箭头功能或使用return
关键字:
let ages = [32, 33, 16, 40];
function myFunction() {
document.getElementById("demo").innerText = ages.filter(checkAdult => checkAdult > 18);
}
答案 1 :(得分:0)
您缺少回调函数中的返回。
关于Array.prototype.filter()上的文档,回调函数应返回一个强制保留为true的值,否则保留为false。
因此您的代码应如下所示
document.getElementById("demo").innerText = ages.filter(function(checkAdult){
return checkAdult > 18;
});