<script>
var arr = [1, 2, 3, 5, 6]
function fn(arr, n) {
arr.forEach(function(value) {
if (value == 3) {
return value;
}
})
}
console.log(fn(arr, 3));
</script>
如以上代码,我是想实现,用forEach遍历数组,找到数组中符合的值,然后return这个值
但是输出的结果是undefined
原因: 用forEach遍历数组,只有数组中的元素全部遍历一次,才会跳出这个循环,其他语法也无法改变,并且forEach本身是不具有返回值的
解决方法:定义一个变量,将要返回的值赋给这个变量
<script>
var arr = [1, 2, 3, 5, 6]
function fn(arr, n) {
var a;
arr.forEach(function(value) {
if (value == 3) {
a = value;
}
})
return a;
}
console.log(fn(arr, 3)); //3
</script>