2017-10-16 78 views
0

我已經用NodeJS構建了一個應用程序,我們有一個上傳聯繫表和合並聯系人的功能。在javascript中搜索和合並對象屬性的有效方法算法

有2個匹配條件

聯繫,應根據電話號碼或電子郵件地址進行合併。如果 任何電話號碼或電子郵件應該匹配,那麼聯繫人應該將 視爲現有/重複聯繫人並與搜索 合併對象。

CSV聯繫人在用戶的所有數據庫聯繫人中進行比較。

對於如:

如果用戶在他的DB 1000個聯繫人,現在他可以上傳 5000通過CSV接觸之後每CSV接觸行對象應與數據庫中的聯繫人對象匹配 。

它遍歷總數1000(聯繫 行數據庫)* 5000(聯繫CSV數據行)= 5000000總遍歷數。

在我的應用程序中實現的這個時候,它非常昂貴。我希望有效地搜索和合並聯系人,而不必檢查重複的聯繫人條件。

場景:

有一個場景我張貼在這裏。

手機通訊錄 [{ID:1,名稱: '凱爾布魯克',電話:[1234567890]}]

CSV: [{名稱:'凱爾布魯克斯,電子郵件:['[email protected]','[email protected]'],電話:[1234567890]} {姓名:nulll,電子郵件:['[email protected]'],電話:[1234567890,0987654321] }]

最終結果: {名稱:'凱爾布魯克斯,電子郵件:[ '[email protected]', '[email protected]'],電話:1234567890,0987654321]}]

我做了一個代碼可能會收取費用。 154589 ms來執行5000000總遍歷的代碼。

下面的代碼鏈接的評論我需要發佈整個代碼,否則它不可能得到有關代碼的想法。

`https://jsfiddle.net/dipakchavda2912/eua1truj/` 
+1

*我做了一個代碼,可能需要*,你能告訴我們嗎? – Rajesh

+0

你正在使用哪個數據庫? – gurvinder372

+0

代碼請..... –

回答

0

有多種方式可以繼續,它可以取決於您的聯繫人數據庫。

儘量使用您的數據庫及其indexe引擎。通過您的CVS聯繫人並請求數據庫查找重複的聯繫人。

數據庫設計用於存儲,檢索和處理數據。這是它的工作。

+0

我需要一個有效的算法來遍歷數據。 –

相關問題