gpt4 book ai didi

javascript - Javascript 中的函数式循环与非函数式循环

转载 作者:行者123 更新时间:2023-12-01 00:59:59 24 4
gpt4 key购买 nike

我想要做的是返回一个基于动态大小的对象数组,我觉得我可能会以一种过于复杂的方式来做这件事,但这些天我也试图以更实用的方式做事。

这是我如何以非功能性方式做到这一点

function nonFunctional(size) {
let foo = [];

for (let index = 0; index < size; index++) {
foo.push({ bar: "baz" });
}

return foo;
}

这是我尝试以函数式方式做到这一点的方法

function functional(size) {
return [...new Array(size)].map(() => {
return {
bar: 'baz'
}
});
}
  1. 这是以实用方式实现此目的的最佳方式吗?
  2. 与“传统”方式相比,这种方式有哪些优点/缺点?
  3. 这真的与函数式编程相关吗?

最佳答案

  1. 我会这样做(不一定更好):

      return Array.from({ length: size }, () => ({ bar: "baz" }));
  2. 您的函数方式可读性较差(IMO),并且它创建了两个不必要的中间数组(引擎可能将其优化掉,但是......好吧可能>)

  3. “函数式/命令式编程”并不是非黑即白的。代码可以是函数式的,也可以是命令式的,也可以是纯粹函数式的,但这一切都取决于您提出的要求。

关于javascript - Javascript 中的函数式循环与非函数式循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56174998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com