はじめに
この実験では、JavaScript の deepMapKeys
関数を使ってオブジェクトのキーを再帰的にマッピングする方法を探ります。各キーに対して提供された関数を使って、同じ値とマッピングされたキーを持つ新しいオブジェクトを作成する方法を学びます。実践的な演習と例を通じて、この関数がどのように機能するか、また実際のシナリオでどのように使えるかを理解します。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScript の deepMapKeys
関数を使ってオブジェクトのキーを再帰的にマッピングする方法を探ります。各キーに対して提供された関数を使って、同じ値とマッピングされたキーを持つ新しいオブジェクトを作成する方法を学びます。実践的な演習と例を通じて、この関数がどのように機能するか、また実際のシナリオでどのように使えるかを理解します。
オブジェクトのキーを再帰的にマッピングするには、次の手順に従います。
node
と入力します。deepMapKeys
関数を使用します。Object.keys()
を使ってオブジェクトのキーを反復処理します。Array.prototype.reduce()
と提供された関数を使って、同じ値とマッピングされたキーを持つ新しいオブジェクトを作成します。deepMapKeys
を呼び出します。const deepMapKeys = (obj, fn) =>
Array.isArray(obj)
? obj.map((val) => deepMapKeys(val, fn))
: typeof obj === "object"
? Object.keys(obj).reduce((acc, current) => {
const key = fn(current);
const val = obj[current];
acc[key] =
val !== null && typeof val === "object"
? deepMapKeys(val, fn)
: val;
return acc;
}, {})
: obj;
以下は、deepMapKeys
の使用例です。
const obj = {
foo: "1",
nested: {
child: {
withArray: [
{
grandChild: ["hello"]
}
]
}
}
};
const upperKeysObj = deepMapKeys(obj, (key) => key.toUpperCase());
/*
{
"FOO":"1",
"NESTED":{
"CHILD":{
"WITHARRAY":[
{
"GRANDCHILD":[ 'hello' ]
}
]
}
}
}
*/
おめでとうございます!オブジェクトのキーを再帰的にマッピングする実験を終えました。技術力を向上させるために、LabExでさらに実験を練習してください。