我正在創建一個聊天腳本,用戶可以在其中設置他們的興趣。當用戶連接至服務器的客戶端發送以下JSON過的WebSocket:查找幾個陣列之間最接近的匹配
{"id": int, "hash": md5, "automessage": {...}, "interests": ["cars", "programming", "stackoverflow"]}
當接收到第一連接它被推到等待陣列。每當另一個連接開始時,它會從陣列中刪除最後一個對象,將它們「配對」在一起。我現在需要做的是編寫一個函數,以便當它收到消息時,它會查看等待數組中所有對象的興趣值,並返回具有最常見興趣的對象。例如,如果等待陣列看起來像這樣:
[
{"id": int, "hash": md5, "automessage": {...}, "interests": ["cats", "animals", "cars"]},
{"id": int, "hash": md5, "automessage": {...}, "interests": ["programming", "ssh", "stackoverflow"]},
{"id": int, "hash": md5, "automessage": {...}, "interests": ["climbing", "football", "coffee"]}
]
現在被接收上述消息時,它看起來通過上述數組,並返回該對象具有最相似的興趣。因此,在這個例子中它將返回{"id": int, "hash": md5, "automessage": {...}, "interests": ["programming", "ssh", "stackoverflow"]}
。
如果找不到具有相似興趣的任何條目,則應將該用戶添加到等待列表數組中。
我很堅持這個,所以任何人都可以幫忙嗎?
不太確定爲什麼問題被downvoted。謹慎添加評論?
給你一回,因爲這是個有趣的問題,我:) –