碎片時(shí)間學(xué)編程「29]:根據(jù)函數(shù)取消組合數(shù)組元素

創(chuàng)建一個(gè)元素?cái)?shù)組,將zip生成的數(shù)組中的元素解構(gòu)并應(yīng)用提供的函數(shù)。

使用Math.max()和 ( ...) 展開運(yùn)算符獲取數(shù)組中最長的子數(shù)組,通過Array.prototype.map()方法使每個(gè)元素成為一個(gè)數(shù)組。

使用Array.prototype.reduce()和Array.prototype.forEach()方法將分組值映射到單個(gè)數(shù)組。

使用Array.prototype.map()和展開運(yùn)算符 (...) 應(yīng)用于fn每個(gè)單獨(dú)的元素組。

const unzipWith = (arr, fn) =>

? arr

? ? .reduce(

? ? ? (acc, val) => (val.forEach((v, i) => acc[i].push(v)), acc),

? ? ? Array.from({

? ? ? ? length: Math.max(...arr.map(x => x.length))

? ? ? }).map(x => [])

? ? )

? ? .map(val => fn(...val));

更多內(nèi)容請?jiān)L問我的網(wǎng)站 www.icoderoad.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容