[如何获得比数组javascript其他元素大的3个值] [
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[如何获得比数组javascript其他元素大的3个值] [相关的知识,希望对你有一定的参考价值。
array = [ name: 'name1', value: 0 , name: 'name2', value: 2 , name: 'name3', value: 4 , name: 'name4', value: 4 , name: 'name5', value: 3 , name: 'name6', value: 2 , name: 'name7', value: 0 , name: 'name8', value: 1 , ... ]
如何获得具有最高价值的物品?在上面的示例中,我应该重新设置具有
value = 4
,value = 3
,value = 2
(即前三个最大值)的对象我已经尝试过这样的事情:
let first: 0 let second: 0 let third: 0 array.map((res: any) => if (res.value > first) third = second second = first first = res else if (res.value > second) third = second second = res else if (res.value > third) third = res )
问题是,如果有两个或多个具有相同值的对象,则不会同时返回两个对象,而只会返回一个。
我有一个由对象组成的数组。每个对象都有两个属性:名称,值。数组= [名称:'name1',值:0,名称:'name2',值:2,名称:'name3',值:4,...
答案
这里是您的详细操作方式。另一答案
首先,您需要对数组进行排序,可以使用默认的sort方法,为什么我们使用spread语法获取副本是因为我们基本上不希望更改现有数组。以上是关于[如何获得比数组javascript其他元素大的3个值] [的主要内容,如果未能解决你的问题,请参考以下文章
找出数组中每个数右边第一个比它大的元素--时间复杂度o(n)单调栈解法
我如何在Javascript中拥有可变长度数组的前3个元素[重复]