[英]Find value and index of Javascript array element when the index meets another condition
[英]Find index of array where value in array meets condition
客戶端正在從服務器上的 socket.io 接收消息。 這個消息的數據有這個對象:
{
from,
text,
dateTimeSent,
chatId
}
這些是指有關從系統上的另一個用戶發送的聊天消息的數據。
在客戶端,用戶存儲有關他們參與的所有聊天的信息。 這些數據來自一個 MongoDB,它有一個名為chats
的集合,其中每個聊天都有一個 _id。
所以基本上,客戶端正在存儲有關他們有權訪問的每個聊天的所有信息的信息,包括聊天的 _id。
我將如何使用在套接字上收到的chatId
,然后在存儲此消息應進入的聊天的 _id 的數組中搜索該 ID?
是否有 JavaScript 函數可以在數組中搜索特定字段的值?
以下是用戶存儲在其客戶端上的數組。 我將如何在這個數組中搜索 chatId 的值?
[
[
"0",
{
"_id":"5ccb37c82eab402834818e8f",
"participants":[
{
"_id":"5ccb37c82eab402834818e91",
"userEmail":"test2@gmail.com"
},
{
"_id":"5ccb37c82eab402834818e90",
"userEmail":"test@gmail.com"
}
],
"chatType":"chat",
"messages":[
{
"dateTimeSent":"2019-05-02T19:50:19.000Z",
"_id":"5ccb49fba2129f160cb22ac8",
"text":"",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T19:50:58.896Z",
"_id":"5ccb4a27a2129f160cb22ade",
"text":"dfdf",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T19:51:03.093Z",
"_id":"5ccb4a27a2129f160cb22add",
"text":"",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T19:54:13.070Z",
"_id":"5ccb4aeaa2129f160cb22b06",
"text":"",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T21:45:29.498Z",
"_id":"5ccb64fbf769fd273c500889",
"text":"hi",
"from":"test@gmail.com"
},
{
"dateTimeSent":"2019-05-02T21:45:31.020Z",
"_id":"5ccb64fbf769fd273c500888",
"text":"hi",
"from":"test@gmail.com"
}
],
"__v":0
}
],
[
"1",
{
"_id":"5ccb5197a2129f160cb22b13",
"participants":[
{
"_id":"5ccb5197a2129f160cb22b15",
"userEmail":"test2@gmail.com"
},
{
"_id":"5ccb5197a2129f160cb22b14",
"userEmail":"adam2.cole@northumbria.ac.uk"
}
],
"chatType":"chat",
"messages":[
{
"dateTimeSent":"2019-05-02T20:22:50.633Z",
"_id":"5ccb519ca2129f160cb22b1b",
"text":"fgfhgfbvb",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T20:22:51.924Z",
"_id":"5ccb519ca2129f160cb22b1a",
"text":"fgfhgfbvb",
"from":"test2@gmail.com"
},
{
"dateTimeSent":"2019-05-02T20:22:52.751Z",
"_id":"5ccb519ca2129f160cb22b19",
"text":"fgfhgfbvb",
"from":"test2@gmail.com"
}
],
"__v":0
}
]
]
查找數組中的值滿足條件的數組索引
您可能正在尋找array.findIndex()
。 給它一個數組和一個為每個項目運行的函數。 遇到您要查找的 ID 時返回true
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.