【发布时间】:2016-06-12 15:19:59
【问题描述】:
我正在阅读 ruby 的数组展平函数并在 Javascript 中寻找类似的函数,但没有找到。所以,我自己创造了它。
Input: [[1,2,[3]],4]
Output : [1,2,3,4]
如果您想使用 reduce/concate 方法,您将无法获得多维数组的所需答案。
你认为的解决方案代码是什么?!!!
【问题讨论】:
-
@AndrewMorton 看起来很相似,但是对于嵌套的多维数组,该解决方案不起作用。如果您为这个给定的数组尝试该解决方案,您将看到: [1,2,[3],4 ] 。但我想要 [1,2,3,4] 所以,这并没有解决我的问题,我写了这个解决方案
-
如果都是数字可以
newArr = arr.toString().split(',').map(Number) -
@dmsbilas 链接的线程很长,但this answer 是您需要的线程。
-
无论如何,这是我使用
splice而不是concat的解决方案,这可能会减少内存使用量:gist.github.com/cky/db218f63441e292fabf50d03c0f1b722 -
var givenArr = [[1,2,[3]],4]; var arrString = JSON.stringify(givenArr); var stripped = arrString.replace(/\D/g,''); var newArr = stripped.split('').map(Number);
标签: javascript flatten