![](/img/trans.png)
[英]Find object having maximum value for the `id` property in an array of objects
[英]Find objects having 3 maximum value for the `albumId` property in an array of objects e.g 100,99,98
這是 json 數據我想檢索那些具有最大值 3 最大值可能是 100,100,100 和 99,99 的 object
[
{
"albumId": 1,
"id": 4,
"title": "culpa odio esse rerum omnis laboriosam voluptate repudiandae",
"url": "https://via.placeholder.com/600/d32776",
"thumbnailUrl": "https://via.placeholder.com/150/d32776"
},
{
"albumId": 99,
"id": 5,
"title": "natus nisi omnis corporis facere molestiae rerum in",
"url": "https://via.placeholder.com/600/f66b97",
"thumbnailUrl": "https://via.placeholder.com/150/f66b97"
},
{
"albumId": 99,
"id": 6,
"title": "accusamus ea aliquid et amet sequi nemo",
"url": "https://via.placeholder.com/600/56a8c2",
"thumbnailUrl": "https://via.placeholder.com/150/56a8c2"
},
{
"albumId": 100,
"id": 7,
"title": "officia delectus consequatur vero aut veniam explicabo molestias",
"url": "https://via.placeholder.com/600/b0f7cc",
"thumbnailUrl": "https://via.placeholder.com/150/b0f7cc"
},
{
"albumId": 100,
"id": 8,
"title": "aut porro officiis laborum odit ea laudantium corporis",
"url": "https://via.placeholder.com/600/54176f",
"thumbnailUrl": "https://via.placeholder.com/150/54176f"
},
]
什么可以是最好的解決方案圖、foreach 或 reduce
使用 map 時,您希望為每次迭代返回一個值,但由於您不希望數組具有相同數量的值,因此這不是最佳選擇。
這篇codeburst 文章可能會有所幫助
在這三個中,reduce 可能是最好的選擇,但從您給出的描述來看,我的東西過濾器可能是您的解決方案。
如果我理解正確,您想要最大的 3 個(或 num)個基於albumId
的對象。
我們可以根據 albumId 對 desc 進行排序並獲取數組切片。 嘗試這個。
const getLargest = (arr, num) => arr.slice().sort((a, b) => b.albumId - a.albumId).slice(0, num); const data = [ { albumId: 1, id: 4, title: "culpa odio esse rerum omnis laboriosam voluptate repudiandae", url: "https://via.placeholder.com/600/d32776", thumbnailUrl: "https://via.placeholder.com/150/d32776", }, { albumId: 99, id: 5, title: "natus nisi omnis corporis facere molestiae rerum in", url: "https://via.placeholder.com/600/f66b97", thumbnailUrl: "https://via.placeholder.com/150/f66b97", }, { albumId: 99, id: 6, title: "accusamus ea aliquid et amet sequi nemo", url: "https://via.placeholder.com/600/56a8c2", thumbnailUrl: "https://via.placeholder.com/150/56a8c2", }, { albumId: 100, id: 7, title: "officia delectus consequatur vero aut veniam explicabo molestias", url: "https://via.placeholder.com/600/b0f7cc", thumbnailUrl: "https://via.placeholder.com/150/b0f7cc", }, { albumId: 100, id: 8, title: "aut porro officiis laborum odit ea laudantium corporis", url: "https://via.placeholder.com/600/54176f", thumbnailUrl: "https://via.placeholder.com/150/54176f", }, ]; console.log(getLargest(data, 3));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.