2016-01-13 40 views
-2

我有數組,我想在數組中找到重複的值,然後在console.log中查找。 我的數組:如何找到並控制數組中的日誌重複值?

var arr = [{ 
id: 1, 
name: "a" 
},{ 
id: 1, 
name: "b" 
},{ 
id: 2, 
name: "c" 
}] 

如果ID是重複的!

+2

向我們展示您的嘗試。 –

+0

你的意思是當id和name重複時?請解釋您的背景中重複的內容 – gurvinder372

+0

請訪問[幫助]查看SO上的內容以及如何詢問。提示:顯示工作量和代碼 – mplungjan

回答

0

利用在JavaScript對象的事實必須有唯一的密鑰:

var arr = [{ 
id: 1, 
name: "a" 
},{ 
id: 1, 
name: "b" 
},{ 
id: 2, 
name: "c" 
}]; 

var mergedData = {}; 
for (var i = 0; i < arr.length; i++) { 
    var data = arr[i]; 

    var merged = mergedData[data.id]; 
    if (!merged) { 
    merged = []; 
    mergedData[data.id] = merged; 
    } 

    merged.push(data.name); 
} 

console.log(mergedData); 

我們正在使用中的對象ID作爲密鑰(必須是唯一的),並把所有相應name s轉換一個列表。

+0

現在你可以合併重複? –

+0

結果會是這樣的: id:1, name:[「a」,「b」] –

+0

你沒有說出你的問題到底需要什麼。現在更新你最近評論的代碼。 – TomTasche

相關問題