[英]How to flattening array at javascript?
我有代碼[ 1, 2, 3, fn(), 7, 8 ]
fn
接下來fn
是:
fn(){ return [ 5, 6 ] }
將哪個運算符應用於fn()
調用以獲取:
[ 1, 2, 3, 5, 6, 7, 8 ]
代替:
[ 1, 2, 3, [ 5, 6 ], 7, 8 ]
當然可以:
[ 1, 2, 3, fn(), 7, 8 ].flat()
但是在這種情況下,其他元素也將被展平。 我只需要為fn()
flatMap()
以數組形式返回輸入數組每個元素的回調函數的值,然后將其展平。 例如,可以使回調返回以下內容:
在演示中,如果值是數組-它將按原樣返回-否則它將在數組內返回。 本質上,所有值都將從回調作為數組返回,而數組又將被展平。
const fn = () => [5, 6]; let array = [1, 2, 3, 4, fn(), 7, 8]; const result = array.flatMap(node => Array.isArray(node) ? node : [node]); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.