今天遇見一個面試題,用js實作演算法時發現一個問題,如何用js實作這樣一個方法,給定一個函數和巢狀深度(int型別),傳回如下所示的一個巢狀的結構?
給定參數:fn,deepLength
返回結構(以deepLength=3為例):
for (var x = 0; x <= 9; x++) {
for (var y = 0; y <= 9; y++) {
for (var z = 0; z <= 9; z++) {
rs = fn([x,y,z])
}
}
}
想了一陣,感覺好像只能透過巢狀函數來實現,是否有比較優雅的實現方法呢?
總結了一下大家的方法,放到了一個demo頁面裡,供大家參考
附帶連結 面試問題:分餅乾
雷雷
使用構建字串的方式實現了,但感覺太不優雅了。 。
面試題參考代碼
雷雷