Так как порядок реквизита не гарантирован, вы должны использовать Map или другие методы, чтобы получить необходимую сортировку и вывод.
Вы можете использовать Array.sort, Array.forEach и Карта , например:
let data = [{"name": "ragupathi", "siteID": 10},{"name": "abi", "siteID": 13},{"name": "abi","siteID": 13},{"name": "mahesh", "siteID": 12},{"name": "abi", "siteID": 13},{"name": "abi", "siteID": 13},{"name": "ragupathi", "siteID": 10}],
map = new Map()
data
.sort((a,b) => b.siteID - a.siteID)
.forEach(x => map.set(x.siteID, [...(map.get(x.siteID) || []), x] || [x]))
console.log(map) // The map object output in your browser console
console.log(Array.from(map.values())) // The siteIds in array form
Как только они появятся в объекте map
, вы сможете легко получить доступ к группам по siteID
, например, map.get(13)
, и вы получите массив сгруппированных элементов.для siteID 13.
Вы также всегда можете получить порядок, в котором вы сохранили ключи на карте, с помощью метода Map.keys () .