我想在满足特定条件时break
for-loop
Object.keys(s).map(uk => {
Object.keys(s[uk]).map(ik => {
for (let i = 1; i < data.length; i++) {
if (...) {
s[uk][ik].map(elem => {
if (...) {
if (...) {
data.push(...);
break;
...
然而,break
语句给了我一个
非句法休息
为什么?它应该break
for-loop
,或者JavaScript
认为我想打破map
?
答案 0 :(得分:2)
就像你自己建议的那样,你仍然在map
部分。这实际上是一个arrow function expression,你不再处于循环中。可以把它想象成你在其他地方定义的一些功能,但它是调用该功能的一种更快捷的方式。
您没有使用地图功能,因为它意味着在javascript中使用。它不是一种迭代数组的便捷方式,而是从其他数组创建一个新数组。您应该将map
的使用情况更改为some form of a loop
答案 1 :(得分:2)
您无法使用break
,map
,reduce
等方法forEach
。
但您可以.filter
之前或仅.find
您需要的元素
答案 2 :(得分:0)
要解决此问题,您可以简单地使用
\b(?!\w)
代替return;