私は.jsonデータストアを持ち、Map()
の特定のメソッドを使用して値を取得します。ここ は私の.jsonファイルのいくつかの例です:マップするJSONファイル
"program": [
{
"name": "program1",
"phases": [
{
"name": "A",
"cycles": [
{
"name": "day 1",
"exercises": [
{
"name": "workout1",
"set": 4,
"repetitions": 8
},
{
"name": "workout2",
"set": 4,
"repetitions": 8
}
]
}
]
}
]
}
]
私の目標は、このような何かを行うことです。
console.log(program.get("program1").phases.get("A").name);
私はマップ
に.jsonファイルを変換し、同様の機能を持っていますconst datastore = require("./datastore.json");
function toMap(array, prop) {
const map = new Map();
for(const el of array) map.set(el[prop], el);
return map;
}
var program = toMap(datastore, "name");
しかし、これは1つの "マップレイヤー"のみを変換するので、1つは.get()
、それより深いものは実行できません。
次は、マップを変更してデータストアに保存し直したいということです。
なぜマップに設定していますか? '.forEach'ループのように.json構造体を反復するだけではどうですか? – VtoCorleone
'.get()'で値を選択したいので、この行を3回続けて実行する必要があります.3つの '.forEach'を使いたくない場合があります。私のアプリケーションは多くの情報を必要とするため、マップはこの場合、forEachよりも優れたパフォーマンスを得たと思います。 –