为了账号安全,请及时绑定邮箱和手机立即绑定

循环遍历多维数组以迭代javascript中的每个项目

循环遍历多维数组以迭代javascript中的每个项目

慕尼黑5688855 2022-05-26 10:45:24
我怎样才能循环遍历每个项目console.log, 我只想迭代循环方式 这是数组let array = [    [1,2,3],    [4,5,6],    [7,8,9],    [[10,11,12],13,14],    [[15,16,16],[17,18,[19,20]]]];
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超7个赞

获取一个平面数组并迭代输出。


let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];


array

    .flat(Infinity)

    .forEach(v => console.log(v));


带有递归回调的更经典的方法。


const show = v => {

        if (Array.isArray(v)) v.forEach(show);

        else console.log(v);

    };


let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];


array.forEach(show);


查看完整回答
反对 回复 2022-05-26
?
森林海

TA贡献2011条经验 获得超2个赞

你可以试试这样的东西吗?


此函数应控制台记录数组和所有子数组中的每个项目。


// using Array.forEach

const recursiveLoop1 = (elem) => {

  if (Array.isArray(elem)) {

    elem.forEach((innerElem) => {

      recursiveLoop1(innerElem)

    })

  } else {

    console.log(elem)

  }

}


// using classic for-loop

const recursiveLoop2 = (elem) => {

  if (Array.isArray(elem)) {

    for (let i = 0; i < elem.length; i++) {

      recursiveLoop2(elem[i])

    }

  } else {

    console.log(elem)

  }

}


let array = [

  [1,2,3],

  [4,5,6],

  [7,8,9],

  [[10,11,12],13,14],

  [[15,16,16],[17,18,[19,20]]]

];


recursiveLoop1(array);

recursiveLoop2(array);


查看完整回答
反对 回复 2022-05-26
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

你需要一个嵌套循环。JavaScript 有不同的方法来做到这一点。以下是函数式编程的示例:


array.forEach(function (outer) {

    outer.forEach(function (inner) {

        console.log(inner)

    })

});

由于您有一个深度嵌套的数组,您可能还想先将其展平。


查看完整回答
反对 回复 2022-05-26
  • 3 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号