在map循环的每次迭代中使用return是否属于不良编程实践?
结论:这绝对不是不良编程实践
首先,map 方法的核心逻辑就是依赖回调函数的返回值来构建新数组——每一次迭代里的 return 正是给新数组对应的位置提供元素,这是完全符合 map 设计意图的用法,不仅没问题,还是正确使用 map 的必要操作。
看你给出的代码:
const array = [ ["Header 1", "Header 2"], [1, 2], [3, 4], ]; const mappedArray = array.map((row, index) => { if (index === 0) { return row; } else { return row.map((value) => value * 2); } });
这段代码逻辑清晰,return 的用法完全合理:针对首行直接返回原数据,其余行对每个元素做乘2处理后返回,没有任何代码异味。
如果追求更简洁的写法,可以用三元表达式简化,但原写法的可读性已经很好,没必要强行修改:
const mappedArray = array.map((row, index) => index === 0 ? row : row.map(value => value * 2) );
总结一下:在 map 的回调里每次迭代用 return 是标准操作,完全不属于不良编程实践,你的写法没问题。
内容的提问来源于stack exchange,提问作者Par
相关产品推荐
相关产品推荐

