以下の内容はhttps://bnsgt.hatenablog.com/entry/2023/03/21/210625より取得しました。


【JavaScript】JSONの一部の値を書き換えたい時の関数

ネストされたJSONオブジェクトの一部の値を書き換えたい場合、以下のような関数でできた。

第二引数のkeysに、objectの上から順に指定すればOK。

function updateJson(obj, keys, value) {
  let currentObj = obj;
  for (let i = 0; i < keys.length - 1; i++) {
    currentObj = currentObj[keys[i]];
  }
  currentObj[keys[keys.length - 1]] = value;
  return obj;
}

const obj = {
  a: {
    b: {
      c: 123
    }
  }
};

console.log(updateJson(obj, ['a', 'b', 'c'], 0))
/*
{
  "a": {
      "b": {
          "c": 0
      }
  }
}
 */

TypeScriptならこんな感じなはず

function updateJson<T>(obj: T, keys: string[], value: any): T {
  let currentObj: any = obj;
  for (let i = 0; i < keys.length - 1; i++) {
    currentObj = currentObj[keys[i]];
  }
  currentObj[keys[keys.length - 1]] = value;
  return obj;
}



以上の内容はhttps://bnsgt.hatenablog.com/entry/2023/03/21/210625より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14