为什么No.js数组?原型.For()循环不将值或对象传递到循环中间的函数返回?
const array1 = ['a', 'b', 'c'];
function loop_n_return(char){
array1.forEach((element) => {
console.log(element);
if(element === char){
return element;
}
});
}
loop_n_return('b'); //output: unidentified
但这是可行的:
const array1 = ['a', 'b', 'c'];
function loop_n_return(char){
var found_element;
array1.forEach((element) => {
console.log(element);
if(element === char){
found_element = element;
}
});
return found_element;
}
loop_n_return('b'); //output: b
2条答案
按热度按时间zpgglvta1#
这是.find()的作业,而不是
.forEach()
.vbopmzt12#
在foreach回调中返回值不会更改函数的返回值
loop_n_return
.但是,如果使用for…of循环,可以在找到值后立即返回该值,这也会更有效,因为不会循环数组中的每个值。