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