Stringify Имя ключа объекта

Я пробовал JSON.stringify() и Object.Keys() однако они не работают для меня, они не выводят имя ключа объекта

Мой файл .JSON:

{
  "KittenLauncher": {
    "a": "value1",
    "b": "value2"
  }
}

Мой текущий файл JS:

const obj = require('../../someJSONFileIHave.json');
let rname = "Kitten";
let rating;

function getValueByPartialKey(obj, key) {

    try {
        rating = 'A, B, C'
        return (Object.entries(obj).find(([k, v]) => k.includes(key)))[1]; // Returns KittenLauncher as an [Object]
    } catch (e) {
        console.log("Object Key does not exist!")
    }

}

return console.log(JSON.stringify(getValueByPartialKey(obj, rName))); // Outputs "{"a": "value1","b": "value2"}"

Я хотел бы, чтобы он вывел имя ключа объекта так: «KittenLauncher»

Есть ли правильный способ сделать это?

Всего 2 ответа


Вы можете использовать Object.keys для этого.

var KittenLauncher = {
      "a": "value1",
      "b": "value2"
    }

Object.keys(KittenLauncher); // this will give an array with values "a" and "b"

Чтобы получить значение «KittenLauncher», сделайте это.

let obj = {
    KittenLauncher : {
      "a": "value1",
      "b": "value2"
    }
}

let name = Object.keys(obj);
console.log(name[0]); // this will output KittenLauncher 

В вашем файле .js у вас уже есть,

const obj = require('../../someJSONFileIHave.json');

И ваш файл JSON,

{
  "KittenLauncher": {
    "a": "value1",
    "b": "value2"
  }
}

Таким образом, чтобы получить KittenLauncher в качестве вывода, вы можете использовать,

const output = Object.keys(obj)[0]  `//Output is KittenLauncher`

Надеюсь, это поможет.


Есть идеи?

10000