Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何筛选此聊天日志?_Javascript_Html_Json - Fatal编程技术网

Javascript 如何筛选此聊天日志?

Javascript 如何筛选此聊天日志?,javascript,html,json,Javascript,Html,Json,我有以下JSON文件messages.JSON: [{"participants": ["a", "b"], "conversation": [{"sender": "b", "created_at": "2019-08-15T19:34:24.551116+00:00", "text": "Not so much..."}, {"sender": "a", "created_at": "2019-08-15T19:34:14.562795+00:00", "text": "Good! Ho

我有以下JSON文件messages.JSON:

[{"participants": ["a", "b"], 
"conversation": [{"sender": "b", 
"created_at": "2019-08-15T19:34:24.551116+00:00",
"text": "Not so much..."},
{"sender": "a",
"created_at": "2019-08-15T19:34:14.562795+00:00",
"text": "Good! How was yours?"},
{"sender": "b",
"created_at": "2019-08-15T19:33:47.386847+00:00",
"text": "How was your day?"}]},
{"participants": ["c", "b"],
"conversation": [{"sender": "c", "created_at": "2019-08-15T19:33:22.069005+00:00",
"text": "Hi!"},
{"sender": "b",
"created_at": "2019-08-15T19:33:05.571631+00:00", "text": "Hello"}]}]
这是person C的聊天日志。我如何使用JavaScript只过滤他/她从person C收到的消息,并将其打印到html正文中?我在页面中包含了jQuery

我自己也做了一些尝试,但似乎没能成功

编辑1:我的手放在笔记本电脑上,这是我的

var a=$(json).filter(function (i,n){return 
n.participants==="c","b"});
for (var i=0;i<a.length;i++)
  {
    alert(a[i].text[1]);
}
显然,我有一些问题不知道如何解决。首先,我不知道如何只过滤从c收到的消息,也不知道如何在HTML正文中显示所有消息。如果有人能帮我,那就太好了

let data = messages_json;
let result = data.map(value=>value.conversation.filter(item=>item.sender=="c"));
您还可以使用jquery像这样更改innerText

<p id="msg"></p>
<script>$("#msg").text(result)</script>

是的,请分享您已经尝试过的内容。因此,我的方法是将每个对话映射到来自c的消息列表,然后展平生成的嵌套数组:data.mapchat=>chat.conversation.filtermessage=>message.sender==c.flat。这只是一个部分答案,我主要想看看我想到的第一种方法是否有效。您可以循环遍历该数组,并将每个项目的文本添加到列表或正文中的任何内容。我不知道这是来自函数I,n{return n.participants==c,b}的什么语言,但它在javascript中不起作用。我也从未见过jquery在json块上使用,但您的筛选函数看起来更像I=>I.particients.includesc