我有一个正在制作虚拟电话的项目,我需要删除特定的阵列-但我不知道该怎么做的方法。
目前,我还没有找到实现此目标的方法,我曾考虑过仅从数据库中获取特定信息,但在打开聊天消息时却可能会出现“加载”这样的问题。因此,我想从特定用户处拉出所有聊天记录,然后从数组中删除
当我进入jquery时,我的数据看起来像这样
var getmessages = [
{
sender: "114-5437",
receiver: "545-3169",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "999-5435",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
];
$.each(getmessages, function () {
});
所以在这里我要在每个数组中删除不是我需要的信息的所有数组
在这种情况下,我希望每个具有的数组元素
发送者/接收者为114-5437,和/或发送者/接收者为545-3169
所以它应该在数组中看起来像这样
var getmessages = [
{
sender: "114-5437",
receiver: "545-3169",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
];
$.each(getmessages, function () {
});
我希望我解释得很好并且很有道理。谢谢
答案 0 :(得分:2)
这就是过滤器的目的
var getmessages = [
{
sender: "114-5437",
receiver: "545-3169",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "999-5435",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
{
sender: "545-3169",
receiver: "114-5437",
sender_msg: "Hejsa!!!",
receiver_read: 0,
date: "2019-04-10 22:14:34"
},
];
console.log(getmessages.filter(item => item.sender === '114-5437' || item.sender === '545-3169' || item.receiver === '114-5437' || item.receiver === '545-3169'));