Javascript 为什么在if/else语句中将元素记录到控制台时,此函数只返回预期的输出

Javascript 为什么在if/else语句中将元素记录到控制台时,此函数只返回预期的输出,javascript,filter,Javascript,Filter,为什么当我在if/else语句中将元素记录到控制台时,该函数只返回预期的输出,而在使用return语句和console.log函数调用时不返回预期的输出 var ages = [32, 33, 16, 40]; function checkAdult(age) { for( let el of age){ if(el >= 18){ console.log(el); } } } checkAdult(ages); // expected [32,

为什么当我在if/else语句中将元素记录到控制台时,该函数只返回预期的输出,而在使用return语句和console.log函数调用时不返回预期的输出

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

function checkAdult(age) {
 for( let el of age){
    if(el >= 18){
    console.log(el);    
    }
  }
}
checkAdult(ages);  // expected [32, 33, 40] 


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

function checkAdult(age) {
 for( let el of age){
    if(el >= 18){
      return el;    
     }
   }
 }
console.log(checkAdult(ages));  // 32 ??

因为
return
停止函数的执行。第一个版本只是运行,直到它检查了所有元素。当然,谢谢阿彻!