JSFiddle - React, Tailwind, and code Playground

by Sergei Sokolov

HTML

<pre></pre>

JavaScript

/**
 * для вопроса https://qna.habr.com/q/933625
 * Как сделать функция,которая меняет регистр ключа объекта?
 */
const keysToUpper = (src) => {
  for (let prop in src) {
    const upper = prop.toUpperCase();
    if (prop !== upper) {
      src[upper] = src[prop];
      delete src[prop];
    }
    if ('object' === typeof src[upper]) {
      keysToUpper(src[upper]);
    }
  }
}

const test = {
  "KEY0": "keep it",
  "key1": "value",
  "key2": ["v", "2", 3, 4],
  "key3": {
    "subKey1": "aa0",
    "subKey2": ["v", 2, 3, ],
    "subKey3": {
      "deepWeb": "Tor",
      "darkWeb": "i2p",
      "dullWeb": "cheburnet",
    },
  },
  "KEY4": "no change",
}

keysToUpper(test);

document.querySelector('pre').textContent = JSON.stringify(test, null, 2);