我有一个具有对象属性“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))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)