JSON对象我有一个JSON对象,像下面这样:查找并删除JSON阵列
var users = {
ross: [
{
socket_id: 'K7XhUcIXAQFkmhK7AAAA',
community_id: 2
},
{
socket_id: 'gWBy0adi2e3KoIWuAAAC',
community_id: 2
},
{
socket_id: 'PRQ2czNZuvatsy8cAAAD',
community_id: 2
},
{
socket_id: 'R-EGVCDc5jWQV50KAAAF',
community_id: 2
}
],
laura: [
{
socket_id: 'VCp2NxY42LMNvOclAAAE',
community_id: 2
},
{
socket_id: 'MDZe6Oe8U4xzmUjxAAAG',
community_id: 2
}
],
john: [
{
socket_id: 'Omn3VQKyuYHm2JNdAAAH',
community_id: 2
}
]
}
现在,当插座断开时,我想删除该用户的数组Socket对象。现在我写了一个函数来从Json数组中删除Json对象。
var cleaner= function(arr, id) {
for (var i = 0; i < users.length; i++) {
var cur = users[i];
if (cur.id === id) {
arr.splice(i, 1);
break;
}
}
};
cleaner(users, socket.id);
上述功能的唯一问题是我需要传递该JSON数组所属关键字的名称。
基本上,首先我想找到该JSON数组的密钥的名称,当我将得到密钥名称时,我会将它传递给清除函数。 但我不知道如何找到JSON数组的键名。
也许你可以使用一些正则表达式来找到它,并用 ''(emptyness)替换它。不知道这是否是正确的做法,但肯定会有效。 – Xogno
'cur.id === uniqueId'哪里是'id'属性来自哪里,什么是'uniqueId'? – gurvinder372
它是在该函数中传递的套接字标识。我编辑了这个问题。抱歉。 – shahakshay94