n次元のサブ配列を持つ配列をマップしようとしています。私はディープマップを見てきましたが、私はオブジェクトを使用していません。私がやろうとしているものの例は次のとおりです。javascript内のネストされた配列内の非オブジェクト値のマップ
deepMap([4,5,[3,4,[2]]], (x) => x+5)
returns [9,10,[8,9,[7]]]
機能deepMapの配列を維持しながら、あなたがネストされた配列内の値に関数を適用するにはどうすればよい
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); リターンヘッド。あなたは3者を使用することができます: } console.log(deepMap([4,5、[3,4、[2]]、(x)=> x + 5));そしてそれは完全に働いた – Timmehlkk
'return arr instanceof Array? ...:... ' – Barmar