gpt4 book ai didi

javascript - 什么都不做的数组方法

转载 作者:行者123 更新时间:2023-12-03 12:44:02 25 4
gpt4 key购买 nike

我喜欢函数式编程,它使我的代码,尤其是作用域更简洁。

我发现自己的代码中有一个非常繁重的数组操作,如下所示:

this.myArray = someArray
.slice(0, n)
.map(someFunction)
// more manipulation;

if (condition) {
this.myArray = this.myArray.reverse();
}

this.myArray = this.myArray
.reduce(anotherFunction, [])
// even more manipulation

是否有一些内置方式加入 if到我的功能链?就像是:
this.myArray = someArray
.slice(0, n)
.map(someFunction)
// ... more manipulation
[condition ? 'reverse' : 'void']()
.reduce(anotherFunction, [])
// ... even more manipulation
void()方法不存在。有替代方案吗?将多个调用合并到单个链是否是流行的方法,即使这意味着调用什么都不做的方法?

我知道我可以将自己的方法添加到 Array:
Array.prototype.void = function () {
return this;
}

但这不是重点。是否有任何标准/内置方法可以达到相同的效果?

最佳答案

作为中性函数,你可以采取

  • Array#concat , 返回一个包含旧项的新数组,或
  • Array#slice ,它也返回一个新数组。
  • 关于javascript - 什么都不做的数组方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58681569/

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