javascript - 过滤器方法的回调有副作用好吗
问题描述
在阅读同事的代码时,我惊讶地发现过滤器的回调有如下副作用。
let output = [];
let input = ['apple', 'boy', 'carrot'];
input.filter(w => output.push(w + '_suffix'));
console.log(output);
//log:-
//["apple_suffix", "boy_suffix", "carrot_suffix"]
我建议使用map()
方法。但是我没有想过这样的数组方法。即影响回调函数之外的状态。我发现很多其他同事也以类似的方式使用地图方法。
以这种方式使用数组方法可以吗?如果没有,如何在团队中执行?打字稿也无助于执行。我猜也不能使用 linting。
解决方案
推荐阅读
- php - Laravel嵌套'with'函数复杂查询问题
- javascript - 当数据库将布尔值存储为 0 或 1 位值时使用哪个相等比较器
- javascript - React JS 哪个按钮被点击了多少次?
- sql - 如何在 Microsoft SQL Server 中选择日期范围?
- docker - 如何在大厅中链接 yaml 文件?
- go - 试图格式化 API 的响应,但我不知道如何
- python - Python 3:在没有任何循环的情况下重新运行当前函数
- python - 如何将 Numpy 从 (876,) 重塑为 (876,256,256,3)?
- machine-learning - 迁移学习仅适用于可训练设置为 false
- php - 是否可以在尚未连接域的服务器上安装 SSL