小编use*_*121的帖子

在JavaScript中使用递归展平嵌套数组

我试图在保留顺序的同时展平嵌套数组,例如[[1, 2], 3, [4, [[5]]]]应该转换为[1, 2, 3, 4, 5].

我正在尝试使用递归来执行此操作,但下面的代码不起作用,我不明白为什么.我知道还有其他方法可以做到这一点,但我想知道这有什么问题.

function flatten (arr) {
  var newArr = [];
  for (var i = 0; i < arr.length; i++) {
    if (Array.isArray(arr[i])) {
      flatten(arr);
    } else {
      newArr.push(arr[i]);
    }
  }
  return newArr;
}

flatten([[1, 2], 3, [4, [[5]]]]);
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript recursion

5
推荐指数
2
解决办法
6298
查看次数

在JavaScript中的语句中嵌套...

我正在尝试在Codecademy中学习JavaScript,其中一个简单的提到是"for in"循环.我在一些练习中使用过它们,但在这种情况下,我无法让它工作.我可以用(i =等等;等等),但我想知道这有什么问题,如果有办法解决它:

//Your three dimensional array from the last exercise probably
//looked something like this:
var hands = [];
hands[0] = [ [3,"H"], ["A","S"], [1,"D"], ["J","H"], ["Q","D"] ];
hands[1] = [ [9,"C"], [6,"C"], ["K","H"], [3,"C"], ["K","H"] ];

//Loop over every dimension in the array, logging out the suit and rank
//of each card in both hands
//1. loop over each hand
for (var hand in hands) {
//2. loop over each card array in each hand
    for (var card …
Run Code Online (Sandbox Code Playgroud)

javascript

3
推荐指数
1
解决办法
5673
查看次数

标签 统计

javascript ×2

recursion ×1