我有一组对象数组。
所以看起来像
[[{}{}],[{}{}{}],[{}{}], [{}{}{}{}]]
...等
我需要遍历此数组中的每个对象。问题是这需要一个nested for loop
,这还不错,但是我想知道是否有种方法可以在将扩展运算符放入原始数组时使用扩展运算符。
outerArray.push(...innerArray)
,与此类似。那没有用,但是有类似的东西吗?
答案 0 :(得分:2)
您可以使用Array.prototype.flat
将嵌套数组转换为扁平数组
Public Sub WhateverYouWantToCallIt()
Dim x As Long, y As Long
Dim lLastRow As Long
With ThisWorkbook.Worksheets("Buyer Trend Metrics")
'This will set the same last row for each copy.
lLastRow = .Cells(.Rows.Count, 10).End(xlUp).Row + 1
y = 10
For x = 61 To 70
'This will set the last row on each set of data.
'lLastRow = .Cells(.Rows.Count, y).End(xlUp).Row + 1
.Cells(lLastRow, y) = Date
.Range(.Cells(lLastRow, y + 1), .Cells(lLastRow, y + 7)) = _
.Range(.Cells(x, 2), .Cells(x, 8)).Value
'-OR-
'.Range(.Cells(x, 2), .Cells(x, 8)).Copy
'.Cells(lLastRow, y + 1).PasteSpecial Paste:=xlPasteValues
y = y + 9
Next x
End With
End Sub
对于较旧的浏览器,您可以参考other answers
答案 1 :(得分:0)
只需在此处添加一个不需要传递深度的选项:
const deepFlatten = arr =>
[].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)))
用deepFlatten(outerArray)
呼叫