JavaScript|实现扁平化数组(数组降维)含测试源码

本博文源于js基础,旨在讨论如何实现扁平化数组。

问题重现

将数组扁平化是指将一个多维数组,按照原数组项的顺序转变为一维数组。

实现原理

利用递归,扁平化第一层数组时,如果项是数组,那么扁平它,如果它里面有子项也是数组,那么继续扁平。
难点:判断数组的项是否是数组
解决点:

Array.isArray(数组项)

案例效果

在这里插入图片描述

附上源码

<script>
	var arr = [1,[2,3],[4,5],[6,[7,8]],9,[[[10,[[11,12],13],14],15,16],17],18];
	function flattenArray(arr) {
		var _arr = [];
		for(var i=0;i<arr.length;i++) {
			if(!Array.isArray(arr[i])) {
				_arr.push(arr[i]);
			}else {
				_arr = _arr.concat(flattenArray(arr[i]));
			}
		}
		return _arr;
	}
</script>

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/106234782