1
我試圖映射具有n維子數組的數組。我看過深度地圖,但我沒有使用任何對象。什麼我想要做的一個例子是:在deepMap數組在javascript中嵌套數組中映射非對象值
deepMap([4,5,[3,4,[2]]], (x) => x+5)
returns [9,10,[8,9,[7]]]
的功能後,可以是任何功能
const deepMap=(arr, fn) =>{
const stop = arr.length===0;
const tail = arr.slice(1);
const head = arr[0];
const front = head instanceof Array ? [head[0]]: [] ;
const next = fn(front, head);
return stop ? [] : front.concat(deepMap(tail,fn));
}
如何申請一個函數嵌套數組值,同時保持整個數組是嵌套數組?
任何幫助,非常感謝!
感謝Barmar!我試圖不使用if語句,但是非常棒,幫助我可視化過程。我結束了這個: 'const deepMap =(arr,fn)=> const head = arr instanceof Array? arr.map((el)=> deepMap(el,fn)):fn(arr); 回頭; (deepMap([4,5,[3,4,[2]]],(x)=> x + 5));'並且它正常工作 – Timmehlkk
您可以使用三元組代替: '返回arr instanceof數組? ...:...' – Barmar