【JavaScript】扁平化数组

JavaScript扁平化数组

假设我们有一个无限嵌套的数组,其结构如下:

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

基本上就是一个数组内部的所有元素既有可能是数字,也可能是数组。
我们需要将其扁平化成一维数组。

			// 扁平化数组
			function flat(a) {
				var res = [];
				for (let e of a) {
					if (Object.prototype.toString.call(e) === "[object Array]") {
						// 判断其是数组,则递归
						res = res.concat(flat(e))
					} else {
						res.push(e);
					}
				}
				return res;
			}

测试结果:

全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务