【问题标题】:How do I return the variable name instead of the array or object it's holding? [closed]如何返回变量名而不是它所持有的数组或对象? [关闭]
【发布时间】:2015-08-08 22:31:27
【问题描述】:

例如:

var apple = ["red", "green"];

我希望它返回苹果或打印出苹果(作为数组的名称而不是字符串),也不打印或返回苹果引用的数组。

这和原型有关系吗?

【问题讨论】:

  • 我可以看到一个解决方法,但这取决于您要对字符串做什么?你想把它和什么东西比较吗?
  • 这可能与stackoverflow.com/questions/22548885/…提出的问题重复
  • 简短的回答是你不能按原样做。您需要重组您正在做的事情(例如,发布的其他 SO 链接/下面的答案)
  • 就像@CrayonViolent 所说,这可能是一个XY 问题。与其尝试这样做,不如重新考虑你的方法。毕竟,它们被称为变量。你关心的是内容,而不是变量名。如果您需要记录某物的名称,请使用另一个变量。 (另外,你不应该编写依赖于变量名的代码——这有点违背了编程的目的。)
  • 我不明白这个问题..print out apple as the name of array and not as a string..这是什么意思..How do I return the variable name instead of the array or object it's holding? ...你不想要一个对象,你也不想要一个字符串.. .如果你要打印一个名字..它总是一个字符串..

标签: javascript variables


【解决方案1】:

将变量放入对象中,这将允许您访问名称和值

var variables = {
    apple: ["red", "green"]
}
for(key in variables)
    console.log(key)

【讨论】:

  • 我已经尝试过这个,我认为它以字符串的形式返回了密钥 - “apple”而不是 apple
  • @apollo 你还想打印什么名字?
  • @apollo 你打算如何使用它?它会给你一个字符串,因为这是“apple”的唯一有效数据类型。
  • 嗯,我明白了。那么字符串是唯一的方法。谢谢大家
猜你喜欢
  • 2017-03-12
  • 2020-06-29
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
相关资源
最近更新 更多