Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象数组中的前2个最大值_Javascript - Fatal编程技术网

Javascript 对象数组中的前2个最大值

Javascript 对象数组中的前2个最大值,javascript,Javascript,我有一个像 [ {"id":0,"start":0,"duration":117,"slide":4,"view":0}, {"id":0,"start":0,"duration":12,"slide":1,"view":0}, {"id":0,"start":0,"duration":8,"slide":3,"view":0}, {"id":0,"start":0,"duration":7,"slide":2,"view":0} ]; 我想得到3个具有前3个持续时间值的对象。您可

我有一个像

[ {"id":0,"start":0,"duration":117,"slide":4,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":8,"slide":3,"view":0},
  {"id":0,"start":0,"duration":7,"slide":2,"view":0}
];
我想得到3个具有前3个持续时间值的对象。

您可以使用降序对它们进行排序,并获取前三个元素

var数组=[{id:0,开始:0,持续时间:7,幻灯片:2,视图:0},{id:0,开始:0,持续时间:12,幻灯片:1,视图:0},{id:0,开始:0,持续时间:117,幻灯片:4,视图:0},{id:0,开始:0,持续时间:8,幻灯片:3,视图:0}],
top3duration=array.sort(函数(a,b){
返回b.持续时间-a.持续时间;
}).切片(0,3);
console.log(Top3持续时间)
.as console wrapper{max height:100%!important;top:0;}
您可以使用降序对它们进行排序,并获取前三个元素

var数组=[{id:0,开始:0,持续时间:7,幻灯片:2,视图:0},{id:0,开始:0,持续时间:12,幻灯片:1,视图:0},{id:0,开始:0,持续时间:117,幻灯片:4,视图:0},{id:0,开始:0,持续时间:8,幻灯片:3,视图:0}],
top3duration=array.sort(函数(a,b){
返回b.持续时间-a.持续时间;
}).切片(0,3);
console.log(Top3持续时间)

.as console wrapper{max height:100%!important;top:0;}
我将通过几个快速步骤完成您的工作

var myList = [ {"id":0,"start":0,"duration":117,"slide":4,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":8,"slide":3,"view":0},
  {"id":0,"start":0,"duration":7,"slide":2,"view":0}
  ];
outList = myList.sort(function(a,b){ return b.duration - a.duration; }).slice(0,3);
return outList;

我将用几个快速步骤来完成你的工作

var myList = [ {"id":0,"start":0,"duration":117,"slide":4,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":8,"slide":3,"view":0},
  {"id":0,"start":0,"duration":7,"slide":2,"view":0}
  ];
outList = myList.sort(function(a,b){ return b.duration - a.duration; }).slice(0,3);
return outList;
但是您的主阵列将被修改。如果您想将这些作为新数组,那么使用切片(0,3)并将其分配给新数组作为[Fallenreaper's]答案

var myList = [ {"id":0,"start":0,"duration":117,"slide":4,"view":0},
      {"id":0,"start":0,"duration":12,"slide":1,"view":0},
      {"id":0,"start":0,"duration":8,"slide":3,"view":0},
      {"id":0,"start":0,"duration":7,"slide":2,"view":0}
      ];

outList = myList.sort(function(a,b){ return b.duration - a.duration; }).slice(0,3);

return outList;

但是您的主阵列将被修改。如果您想将这些作为新数组,则使用切片(0,3)并将新数组分配为[FallenReapper's]答案

可能的重复项,以便您希望获得按持续时间长度排序的前3个?两个或三个顶部元素?可能的重复项,以便您希望获得按持续时间长度排序的前3个?两个或三个顶部元素?
var myList = [ {"id":0,"start":0,"duration":117,"slide":4,"view":0},
      {"id":0,"start":0,"duration":12,"slide":1,"view":0},
      {"id":0,"start":0,"duration":8,"slide":3,"view":0},
      {"id":0,"start":0,"duration":7,"slide":2,"view":0}
      ];

outList = myList.sort(function(a,b){ return b.duration - a.duration; }).slice(0,3);

return outList;