vue 数组转对象的问题,一个聊天功能

websocket传回一个字符串,前者是对方发信息的用户名,后者是消息,然后我用split(",")转化成数组,console出来时这样的

Object {Category: "chat", Content: "andy321 , Hello World"} "/这是监听接收到的消息"
["andy321 ", " Hello World"]

下面是一个由name开头的对象,我要怎么根据andy321 把Hello World加进myChat?
这是一个由name组成的对象

下面是这个对象显示的效果
图片描述

阅读 7.1k
2 个回答
var Obj = {...};
var message = ["andy321 ", " Hello World"];
Obj[message[0].trim()].push({myChat: message[1].trim()});

楼主,你好!可以试试:

var chatObj = {
    'andy321': [{
      myChat: 'hello'  
    }],
    'andy': []
}
var msgObj = {Category: "chat", Content: "andy321 , Hello World"};
var content = msgObj.Content.split(',');
var name = content[0].trim();
var msg = {myChat: content[1].trim()};
// 消息列表
Object.keys(chatObj).forEach(function(item) {
    // 根据andy321 把Hello World加进myChat 
    if (item === name) {
      chatObj[item].push(msg);
    }
})

如有帮助,麻烦点击下采纳,谢谢~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题