Skip to content

请对以下数组,根据 born 的值降序排列

js

const singers = [ { name: 'Steven Tyler', band: 'Aerosmith', born: 1948 }, { name: 'Karen Carpenter', band: 'The Carpenters', born: 1950 }, { name: 'Kurt Cobain', band: 'Nirvana', born: 1967 }, { name: 'Stevie Nicks', band: 'Fleetwood Mac', born: 1948 }, ];


## 参考答案:

`Array.prototype.sort()` 方法用原地算法对数组的元素进行排序,并返回数组。在很多排序场景下推荐使用。

语法: 

> arr.sort([compareFunction])

这道题在实现上也比较简单,我们直接看实现方法:

```js
function compare(a, b) {
  return a.born < b.born ? 1: -1 
}

singers.sort(compare);

// 也可以进行简写
singers.sort((a,b) => b.born - a.born)