js中排序问题

新手上路,请多包涵

希望在控制台中输出发明家出生年份大小的排序,可实际输出的是发明家们活的时间长短的排序,这段代码有什么问题吗?

// 发明家
const inventors = [
  { firstName: 'Albert', lastName: 'Einstein', year: 1879, passed: 1955 },
  { firstName: 'Isaac', lastName: 'Newton', year: 1643, passed: 1727 },
  { firstName: 'Galileo', lastName: 'Galilei', year: 1564, passed: 1642 },
  { firstName: 'Marie', lastName: 'Curie', year: 1867, passed: 1934 },
  { firstName: 'Johannes', lastName: 'Kepler', year: 1571, passed: 1630 },
  { firstName: 'Nicolaus', lastName: 'Copernicus', year: 1473, passed: 1543 },
  { firstName: 'Max', lastName: 'Planck', year: 1858, passed: 1947 },
  { firstName: 'Katherine', lastName: 'Blodgett', year: 1898, passed: 1979 },
  { firstName: 'Ada', lastName: 'Lovelace', year: 1815, passed: 1852 },
  { firstName: 'Sarah E.', lastName: 'Goode', year: 1855, passed: 1905 },
  { firstName: 'Lise', lastName: 'Meitner', year: 1878, passed: 1968 },
  { firstName: 'Hanna', lastName: 'Hammarström', year: 1829, passed: 1909 },
];
// Array.prototype.sort()
// 3. 请按照发明家的出生年龄进行排序,年龄越小的排名越靠前
const order = inventors.sort((a, b) => a.year > b.year
  ? 1
  : -1
);
console.log('3.sort()的使用');
console.table(order);
console.log('');

我的控制台输出结果:

阅读 1.3k
2 个回答

代码没问题,我这执行也没问题。

image.png

检查一下你代码后面是不是又修改了 inventorsorder 吧。

inventors.sort((a,b)=>{return a.year-b.year})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题