将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三种常用的转换方法,并借此简单回顾Array.prototype.concat方法和Function.prototype.apply方法.以下代码将以把二维数组降维到一维数组为例. 1. 朴素的转换 function reduceDimension(arr) { var reduced = []; f
比如,输入是:[2, 1, [3, [4, 5], 6], 7, [8]] 则,输出是:[2, 1, 3, 4, 5, 6, 7, 8] def list_flatten(l, a=None): a = list(a) if isinstance(a, (list, tuple)) else [] for i in l: if isinstance(i, (list, tuple)): a = list_flatten(i, a) else: a.append(i) return a
现在我们想做如下操作: 想把表1的数据转化为表2的数据,那么我们只需要如下这段代码即可解决需求 Sub 转置() Dim i%, arr arr = Application.InputBox("选择区域", Type:=8) t1 = UBound(arr) t2 = UBound(arr, 2) ReDim brr(1 To t1 * t2, 1 To 3) For i = 2 To t1 m = 1 For k = i To i + t2 - 2 n = n + 1 m = m +