【问题标题】:Get name of Variable a string in Javascript [duplicate]在Javascript中获取变量的名称字符串[重复]
【发布时间】:2020-02-22 14:32:49
【问题描述】:

假设我有一个数组: 它可能一次看起来像这样:

var fruit = [apple,orange];

或者像这样:

var fruit = [orange, apple];

这些是全局变量,等于某个值 - orange and apple 如何将fruit 的索引 0 - (fruit[0]) 处的变量名称作为字符串获取?

谢谢

【问题讨论】:

  • 我真的不认为你可以。如果您使用对象代替,您可以获得属性名称吗?或者也许改用符号?
  • 也许使用对象列表来代替? var fruit = [{ apple }, { orange }]; - 我现在只是吐口水......

标签: javascript arrays string global-variables


【解决方案1】:

要详细说明@evolutionxbox cmets - 您需要使用以下对象:

const orange = 'An orange'
const apple = 'An apple'

const fruit = {
  orange,
  apple
}

console.log(Object.keys(fruit)) // [ 'orange', 'apple' ]
console.log(Object.keys(fruit)[0]) // 'orange'
console.log(fruit.apple) // 'An apple'

【讨论】:

    【解决方案2】:

    这取决于代码在哪里运行。

    如果这些在函数中,您可以通过在函数上调用.toString() 来获取它们,如下所示:

    const orange = "s";
    const apple = "t";
    
    function getVars() {
    	var fruit = [orange, apple];
    }
    
    console.log(getVars.toString());

    输出:

    function getVars() {
        var fruit = [orange, apple];
    }
    

    然后你做一些文本处理,你就有了变量名。

    出于好奇,您为什么要这样做?

    【讨论】:

    • 我正在制作“图像加载功能”。图像数据位于另一个对象内部。如果我有 3 个图像,则“图像”对象内有 3 个对象。我有一个函数,它接受参数“图像”并检查输入是否与我的图像数组中的任何对象名称匹配。如果是这样,它将该图像设置为函数的 this.image。然后我可以使用该函数对图像做任何事情。对不起,如果不清楚,我妈妈告诉我要吃 luch!:)
    • 如果它们是对象,那与数组不同。你有你正在使用的对象的一些代表性代码吗?如果您可以将其放入或链接到它,我们可以更好地帮助您。
    • 非常感谢。实际上,我在可汗学院制作它是为了好玩。使用他们的平台,a 能够进行有效的“破解”。这是获取变量名称部分的链接:khanacademy.org/computer-programming/get-name-of-variable/…
    • 非常好!所有变量都是全局对象上的键。聪明!
    • 在 KA 上编写代码非常容易。你应该尝试弄乱,看看你想出了什么。我做了一些相当不错的小游戏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多