Jay*_*Jay 6 javascript reduce web-applications
我正在尝试决定是否对我需要编写的函数使用 Javascript 中的 reduce() 方法,它是这样的
var x = [some array], y = {};
for (...) {
someOperation(x[i]);
y[x[i]] = "some other value";
}
Run Code Online (Sandbox Code Playgroud)
现在这显然可以用以下方式写成一个 reduce() 函数:
x.reduce(function(prev, current, index, arr) {
someOperation(current);
prev[current] = "some other value";
return prev;
}, {})
Run Code Online (Sandbox Code Playgroud)
或类似的东西。两者之间是否有任何性能或其他差异?或者其他一些原因(例如浏览器支持),在 Web 编程环境中,哪一个应该比另一个更受青睐?谢谢。
尽管我更喜欢这些操作(reduce、map、filter 等),但使用它们仍然不可行,因为某些浏览器的实现不支持它们。当然,您可以通过扩展原型来“修补”它Array,但这也会带来麻烦。
我不认为这些函数有什么本质上的错误,而且我认为它们可以编写更好的代码,但目前最好不要使用它们。一旦更多人使用支持这些功能的浏览器,我认为它们将成为公平的游戏。
就性能而言,由于函数调用的开销,这些可能会比手写的 for 循环慢。
| 归档时间: |
|
| 查看次数: |
3645 次 |
| 最近记录: |