【问题标题】:Dynamically Add Variables as Value Pairs to Array将变量作为值对动态添加到数组
【发布时间】:2020-09-24 03:48:54
【问题描述】:

我需要在对象中动态存储成对的值。我有一个类似的代码:

obj = {};

avariable = "Name x";
anothervariable = 100;
var name = avariable;
var value = anothervariable;

obj[name] = value;

不行,console.log显示:obj = [object Object]

我尝试查看this answer 有一个非常相似的问题,但我事先不知道“名称”所以我不能使用:

obj['name y']

我的最后一步是为每个名称存储一个值,然后在给定名称的循环中恢复这些值。

【问题讨论】:

  • 出于好奇,console.dir(obj) 产生了什么?
  • obj[name] = value 应该可以工作。您可能只是没有正确记录它以在那里看到它。
  • console.log(obj)console.dir(obj) 对我来说工作正常。
  • 和@CodyPace 一样,我也无法在my Repl.it 中复制。
  • 你尝试的是警告obj吗?这是它显示[Object Object]的唯一方式

标签: javascript


【解决方案1】:

谢谢大家的回答,我总结如下:

上面的代码是正确的。我正在连接多个变量,这就是我得到 [object Object] 的原因。

console.log("callback called, flag: "+ flagq+", obj = "+obj);

console.log(obj)、console.dir(obj) 和console.log(JSON.stringify(obj)) 显示值被正确添加到obj。

【讨论】:

  • 这实际上并不是因为您记录了多个值 - 可以正常工作而没有任何问题 - 而是因为您将多个值连接到一个字符串中。
猜你喜欢
  • 2011-05-03
  • 1970-01-01
  • 2012-09-21
  • 2022-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
相关资源
最近更新 更多