【问题标题】:javascript message queuejavascript消息队列
【发布时间】:2012-10-10 06:52:12
【问题描述】:

我正在使用 javascript 创建一个消息队列,例如我想将消息“hello”和“word”存储给 id 为“123”的用户,我正在使用以下内容来设置和检索它们。

var messages = [];
var userId = 123;

messages[userId].push("hello");
messages[userId].push("word");

不用说,这是行不通的,该死的数组!我怎样才能使这项工作尽可能简单?

提前致谢

【问题讨论】:

  • {} 是一个对象,[] 是一个数组
  • @laser_wizard:这不是我想做的。然后我希望能够访问特定 userId 的消息列表
  • @Diodeus:我知道,我简直快疯了!尝试让 assoc 数组为我工作一直很痛苦,今天晚上我真的离线了!

标签: javascript associative-array


【解决方案1】:

messages[userId] 不存在。

你需要在那里放一个数组:

messages[userId] = [];

【讨论】:

    【解决方案2】:

    好吧,从技术上讲,您可以将元素作为您创建的对象的属性推送,然后遍历其属性。

    【讨论】:

      【解决方案3】:

      您需要为每个用户创建一个数组 ([]):

      var messages = {};
      var userId = 123; 
      messages[userId] = ["hello", "word"];
      

      你也可以使用push

      var messages = {};
      var userId = 123; 
      messages[userId] = [];
      messages[userId].push("hello");
      messages[userId].push("word"); 
      

      【讨论】:

      • 谢谢。这行得通。 获取一个特定的 userId 的消息队列呢?
      • @johnsmith: messages[userId]
      • userIdmessages 对象的一个​​属性,你可以只做messages[userId]messages[123]
      猜你喜欢
      • 2017-09-07
      • 2018-09-18
      • 2020-11-27
      • 2020-04-18
      • 2011-02-20
      • 2013-08-09
      • 2012-09-19
      • 2014-04-21
      • 2012-03-16
      相关资源
      最近更新 更多