javascript - 适合使用 Node js 进行实时聊天的数组或对象

标签 javascript arrays node.js express socket.io

我正在学习nodejs + express + socketio。我正在为客户进行实时聊天。我已在管理页面成功获取用户列表。当前管理页面显示所有发送消息的用户,但我只需要显示用户列表中选定的用户消息。

在这种情况下,我需要一个数组或对象,其中包含有关聊天 session 的所有详细信息,但在我的情况下,详细信息来自不同的事件,因此我很困惑如何推送该值。

当我搜索数组和对象时,我发现数组有顺序,而对象没有,但该声明让我感到困惑。到目前为止,我可以使用对象,但除了语法之外,我感觉不到对象和数组之间有任何区别。

这里我提两个问题

  1. 哪一项有权处理私有(private)聊天(数组或对象)?
  2. 如何从不同的事件统一推送数据,例如在触发我的对象或数组应如下所示的三个事件后

    chat={"name":"Bilal","mail":"test@test.com","socketid":"asgd","to":"John","message":"Hello!","ip":"192.168.1.4","time":"timestamp"};
    

最佳答案

好吧,首先让我告诉你,在开始这个项目之前,你仍然需要阅读很多关于 Nodejs 和编程的知识,否则它会让你感到困惑。

回到你的问题,数组和对象在顺序方面的区别在于 - 简单来说,“有顺序”就是能够对项目进行编号并使用索引检索它们。这对于数组是可能的,但对于对象则不行。例如,您有一个数组 a 和对象 oa[5] 将为您提供 a 的第 6 个元素,但 o[5] 不会没有任何意义。对象只是以没有特定顺序的方式将各个部分组合在一起。

恕我直言,最好是使用对象的方法之间进行通信,尤其是在 Nodejs 中。在处理对象时,您还可以灵活地使用其他复杂结构。

关于javascript - 适合使用 Node js 进行实时聊天的数组或对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37654394/

相关文章:

javascript - 使用 Sinon 模拟 require() 函数

java - 使用 10 个线程处理一个数组

javascript - 将对象添加到数组

node.js - Node/Docker 是 node-sass 找不到已安装的绑定(bind)(通过 Webpack)

javascript - Node.js 在逐行 Readline 完成后执行

javascript - 为什么我的 JavaScript 三元运算符不起作用?

javascript - 跨语言界面——它们存在吗?

jquery - Google CDN 托管哪些库(除了 jQuery)?

arrays - Perl:哈希中的数字排序数组

javascript - 如何使慢速 Connect 中间件超时并返回 Node 响应?