forEach()使用return 失效,出现undefined

使用forEach()方法时,希望回调函数返回value*2,发现显示undefined.
或者想达到某个条件就终止遍历

在这里插入图片描述

在这里插入图片描述

forEach() 方法为每个数组元素调用一次函数(回调函数)。
原因:
forEach没有返回值,只针对每个元素调用func。
forEach()无法在所有元素遍历完前,终止遍历,或者return 跳出当前循环,
这样的话,使用return失效,空循环就会显示undefined

解决方法:
1,设置一个 变量 在函数内把 value各种操作
在这里插入图片描述
2.用for循环(略)

3.使用some()/every()
some()只要有一个满足就返回true否则返回false
some():当内部return true时跳出整个循环

在这里插入图片描述

在这里插入图片描述
这个true是some()返回的,整体的

every():当内部return false时跳出整个循环

every()每个都满足返回true否则返回false

如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
在这里插入图片描述

在这里插入图片描述

参考:https://blog.csdn.net/lihefei_coder/article/details/76736296

猜你喜欢

转载自blog.csdn.net/zhangaob/article/details/108444760
今日推荐