gpt4 book ai didi

javascript - 通过数组中的对象属性获取前三个对象

转载 作者:行者123 更新时间:2023-12-01 01:09:17 25 4
gpt4 key购买 nike

我有一个具有对象属性“vote_average”和“file_path”的对象数组,我正在尝试查找具有最高“vote_average”值的三个对象,我仍然需要“file_path”属性

我可以使用下面的代码找到单个最高的对象,但是我试图找到具有最高属性值“vote_average”的第一个、第二个和第三个对象

var fullFilmImages = data.images.backdrops;

var highestRatedImage = Math.max.apply(Math,fullFilmImages.map(function(img){
return img.vote_average;}
))

var highestRatedImageOBJ = fullFilmImages.find(function(img){
return img.vote_average == highestRatedImage; }
)

alert(JSON.stringify(highestRatedImageOBJ));

我已经尝试过 .map 方法,但是我需要对象而不仅仅是属性值,因为对象还包含我需要的另一个名为“file_path”的属性

let filmImageRatings = fullFilmImages.map(allFilmImages => 
allFilmImages.vote_average).slice(0,3);

最佳答案

根据“vote_average”属性对数组进行降序排序,然后对数组进行切片。

const objList = [{
vote_average: 1221,
file_path: 'dsf'
},
{
vote_average: 100,
file_path: 'asdf'
},
{
vote_average: 32,
file_path: 'hgk'
},
{
vote_average: 1,
file_path: 'hgk'
}
]

console.log(objList)

objList.sort(function(a, b) {
return b.vote_average - a.vote_average
})

console.log(objList.slice(0,3))

关于javascript - 通过数组中的对象属性获取前三个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55303829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com