【发布时间】:2021-01-25 08:27:32
【问题描述】:
我需要创建一个以数组和目标为参数的函数。它应该返回一个数组数组,其中这些数字的总和等于目标
sumPairs(array, target) {
}
例如:
sumPairs([1, 2, 3, 4, 5], 7) // output : [[2, 5], [3, 4]]
我知道我必须使用 map(),可能还有 reduce()、set() 或 filter()(我在 MDN 中阅读了他们的文档,但仍然无法找到)。我尝试了一些方法,但我无法得到它。
如果你们能帮助我了解如何动态创建数组并将它们推入新数组..
我在那里阅读了一些解决方案 (Split array into arrays of matching values),但我讨厌在不知道它们真正做什么或如何工作的情况下使用创建的函数。
【问题讨论】:
-
我的意思是,我不知道需要多少个数组才能推入 newArray,如果您有任何解决方案,reduce() 可能会有所帮助(以及解释,因为如果没有我不会学习从解决方案)
-
子数组只能有 2 个项目,或者如果数组,您必须产生最小/最大数量?
-
练习说它应该是对目标值求和的数组,所以我认为只有 2 个项目
-
您可以在线性时间内实现这一点,而不是像所选答案那样在二次时间内实现。
标签: javascript arrays