2 回答
TA贡献1757条经验 获得超7个赞
由于不能保证道具的顺序,因此您必须利用Map或其他方法来获得所需的排序和输出。
您可以像这样使用Array.sort,Array.forEach和Map:
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
like轻松访问组map.get(13)
,您将获得siteID为13的分组项的数组。
您还可以始终通过Map.keys()方法获取将密钥存储在地图中的顺序。
添加回答
举报