Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lấy n giá trị lớn nhất từ mảng đối tượng JavaScript

Cho mảng đối tượng có thuộc tính duration. Viết hàm trả về top n phần tử có duration lớn nhất.

Ví dụ

const arr = [  {'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':41,'slide':2,'view':0},  {'id':0,'start':0,'duration':29,'slide':3,'view':0},  {'id':0,'start':0,'duration':123,'slide':3,'view':0},  {'id':0,'start':0,'duration':417,'slide':2,'view':0},  {'id':0,'start':0,'duration':12,'slide':1,'view':0},  {'id':0,'start':0,'duration':67,'slide':2,'view':0}];const topN = (arr, n) => {  if (n > arr.length) return false;  return arr  .slice()  .sort((a, b) => b.duration - a.duration)  .slice(0, n);};console.log(topN(arr, 3));console.log(topN(arr, 4));console.log(topN(arr, 5));

Kết quả

Đầu ra trong console sẽ là:

[  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },  { id: 0, start: 0, duration: 117, slide: 4, view: 0 } ][  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },  { id: 0, start: 0, duration: 117, slide: 4, view: 0 },  { id: 0, start: 0, duration: 67, slide: 2, view: 0 } ][  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },  { id: 0, start: 0, duration: 117, slide: 4, view: 0 },  { id: 0, start: 0, duration: 67, slide: 2, view: 0 },  { id: 0, start: 0, duration: 41, slide: 2, view: 0 } ]