कैसे एक ही संपत्ति के साथ वस्तुओं को पाने के लिए और सरणी में अधिकतम मूल्य मैं की तरहकैसे एक ही संपत्ति के साथ वस्तुओं मिलता है और सरणी में अधिकतम मूल्य है करने के लिए - जावास्क्रिप्ट
data = [{title: "test1", version: 1},
{title: "test2", version: 3},
{title: "test1", version: 2},
{title: "test2", version: 2},
{title: "test2", version: 1}];
और मैं एक डेटा राशि है परिणाम
result = [{title: "test1", version: 2},
{title: "test2", version: 3}];
क्या मैंने यहां क्या किया है उससे बेहतर तरीके हैं?
var titles = [...new Set(data.map(o=> o.title))];
var recentVersions = [];
for(var i = 0; i < titles.length; i++){
var recentVersion = null;
for(var j = 0; j < data.length; j++){
if(titles[i] === data[j].title){
if(!recentVersion){
recentVersion = data[j];
}else if (recentVersion.version < data[j].version){
recentVersion = data[j];
}
}
}
recentVersions.push(recentVersion);
}