【问题标题】:Stringify An Object Key's Name字符串化对象键的名称
【发布时间】:2020-05-28 17:11:52
【问题描述】:

我试过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”

有正确的方法吗?

【问题讨论】:

  • 您要获取变量的名称?为什么?
  • Object.keys({KittenLauncher})[0] 将返回一个字符串 KittenLauncher,但我看不出尝试这样做的意义。
  • 您想要对象名称 (KittenLauncher)?而不是对象键名(a 和 b)?
  • 您的变量KittenLauncher 包含指向您的对象的指针。您的对象不知道哪些变量可能指向它。可能有数百个或一个。这个请求(没有任何上下文)实际上没有任何意义。也许您应该备份并描述您实际尝试解决的问题,因为无论它是什么,这都不是您解决它的方式。

标签: javascript node.js json discord.js


【解决方案1】:

在您的 .js 文件中,您已经有了,

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

你的 JSON 文件是,

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

因此,要获得 KittenLauncher 作为输出,您可以使用,

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

希望对你有帮助。

【讨论】:

  • 我需要 (Object.entries(robj).find(([k, v]) => k.includes(key)));里面>w
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2018-09-08
  • 2018-08-17
  • 1970-01-01
相关资源
最近更新 更多