Ave*_*235 -1 javascript ecmascript-5
Object.entries(obj).reduce((acc, [key, value]) => {
if (someCondition(key, value)) {
acc[key] = value;
}
return acc;
}, {});
Object.entries(obj)
.filter(([key, value]) => someCondition(key, value))
.reduce((acc, [key, value]) => {
acc[key] = value;
return acc;
}, {});
Run Code Online (Sandbox Code Playgroud)
上面两个块做同样的事情:创建一个副本,obj删除一些基于someCondition.
哪种方式是首选,为什么?
这总是取决于。
对于第一种情况 -reduce内部有条件 - 您只需循环一次数据集。
第二种情况为您提供了两个循环(第二个适用于有限的数据集),但代码更具可读性并且操作是分开的(过滤/修改数据)。
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |