JavaScript 数据操作技巧:实现特定条件的数据筛选与合并?
处理数据,用js把
[
{
"content": "你好\n",
"role": "user"
},
{
"role": "assistant",
"content": "你好!很高兴为你服务。有什么问题或需要帮助吗?请随时告诉我。",
"flag": "2"
},
{
"role": "assistant",
"content": "你好,很高兴见到你!我是AI优化助手,有什么可以帮助你的吗?\n\n如果你需要优化你的AI提示词,请告诉我你当前面临的具体问题或需求,我会尽力为你提供帮助。",
"flag": "3"
},
{
"role": "assistant",
"content": "很高兴为您服务!如果您有任何问题或需要帮助,请随时告诉我。。",
"flag": "4"
},
{
"role": "assistant",
"content": "你好!很高兴为你服务。有什么我可以帮助你的吗?",
"flag": "1"
},
{
"content": "你是谁\n",
"role": "user"
},
{
"role": "assistant",
"content": "我是",
"flag": "2"
},
{
"role": "assistant",
"content": "你好,我是你的AI优化助手。"
"flag": "3"
},
{
"role": "assistant",
"content": "我是您的人工智能优化助手,专门致力于帮助用户优化与AI大模型的交互体验。",
"flag": "4"
},
{
"role": "assistant",
"content": "作为一个认知智能模型,我的目标是为您提供有关各种主题的有用信息和建议",
"flag": "1"
}
]
和
{
"name": "question",
"text": "你好\n"
}
最终返回
[
{
"role": "assistant",
"content": "你好!很高兴为你服务。有什么问题或需要帮助吗?请随时告诉我。",
"flag": "2"
},
{
"role": "assistant",
"content": "你好,很高兴见到你!我是AI优化助手,有什么可以帮助你的吗?\n\n如果你需要优化你的AI提示词,请告诉我你当前面临的具体问题或需求,我会尽力为你提供帮助。",
"flag": "3"
},
{
"role": "assistant",
"content": "很高兴为您服务!如果您有任何问题或需要帮助,请随时告诉我。。",
"flag": "4"
},
{
"role": "assistant",
"content": "你好!很高兴为你服务。有什么我可以帮助你的吗?",
"flag": "1"
}]
网络
回复
1个回答
test
2024-06-19
问题描述不够清楚,你是想通过“问题” 在所有会话历史中找到该问题对应的所有回答。
var question = {
"name": "question",
"text": "你好\n"
};
function lookupChatByQuestion(question, chatHistory) {
var retArr;
for(var i = 0; i<chatHistory.length; i++) {
var currentChatObj = chatHistory[i];
if((!retArr) && currentChatObj.role == "user" && currentChatObj.content == question.text) {
retArr = [];
continue;
}
retArr && currentChatObj.role == "assistant" && retArr.push(currentChatObj);
if(retArr && currentChatObj.role == "user") {
break;
}
}
return retArr ?? [];
}
console.log(lookupChatByQuestion(question, chatHistory));
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容