为了账号安全,请及时绑定邮箱和手机立即绑定

从最大到最小映射特定数组reactjs

从最大到最小映射特定数组reactjs

阿波罗的战车 2023-09-14 20:42:58
大家好,我有这样的数组const tmp = [{watch: 87}, {watch: 22}, {watch: 68},{watch: 24}, {watch: 35}]结果是我想要的876835所以我想要地图数组,但只需要 3 个并从最大到最小排序有人可以帮我如何进行这样的过滤吗?谢谢你:D
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

这是使用排序、映射和切片方法的答案。

const tmp = [{watch:87},{watch:22},{watch:68},{watch:24},{watch:35}];

tmp.sort((a, b) => b.watch - a.watch).map(a => a.watch).slice(0,3);


查看完整回答
反对 回复 2023-09-14
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

const tmp = [{watch:87},{watch:22},{watch:68},{watch:24},{watch:35}]


const sortedArray = tmp.sort( (a,b) => { 

     if(a.watch > b.watch){

         return -1;

     }else{

         return 1;

     }

});


console.log(sortedArray);

答案会是这样的


[                                                                                                                                                                                                                                          

  { watch: 87 },                                                                                                                                                                                                                           

  { watch: 68 },                                                                                                                                                                                                                           

  { watch: 35 },                                                                                                                                                                                                                           

  { watch: 24 },                                                                                                                                                                                                                           

  { watch: 22 }                                                                                                                                                                                                                            

]  

答案是一个排序数组。所以你可以通过以下方式得到答案


sortedArray.forEach(value -> console.log(value.watch))

您可以使用


slice(0,3)

将输出数量减少到 3。


查看完整回答
反对 回复 2023-09-14
  • 2 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信