多维数组变为一维数组

本文探讨了在面试中常见的数组处理问题,如何将包含嵌套元素的数组展开成一维数组。提到传统递归方法的同时,介绍了一种新的解决方案——使用JavaScript的Array.prototype.flat()方法。该方法能够方便地消除数组中的空项,并提供了通过infinity参数展开任意深度嵌套数组的能力。同时,文中还提及了reduce和concat作为替代方案的可能性。

面试的时候经常出现一道题
将[1,2,3,[4,5,[6,7],[8,9,[10]]]] 变成[1,2,3,4,5,6,7,8,9,10]
若为二维数组可以直接使用 [].concat(...arr)
一直使用递归的方法答题
发现一种新方法:

let arr = [1,2,3,[4,5,[6,7],[8,9,[10]]]];
console.log( arr.flat(infinity) );

flat会移除数组中的空项,比如[1,2, ,4,5]
会变为[1,2,4,5]
这时候可以使用reduce或者concat来代替

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值