排序javascript数组切片

sorting javascript array slice

本文关键字:切片 数组 javascript 排序      更新时间:2023-09-26

在尝试创建一个可排序的表时,我正在对底层数据数组进行排序:

var g = [
   [ 'First Name', 'Last Name', 'Id', 'Age'],
   [ 'Joe', 'Blogs', '1', 24],
   [ 'Fred', 'Frog', '2', 18],
];

我想对除标题以外的所有内容进行排序。

g = g.sort(mycomparison);

不是很好,尽管我可以改变比较例程,将元素[0]放在其他元素的前面。

相反,我想对除标题以外的所有内容进行排序。下面似乎做什么我想要的,但我想知道是否有一个更好的方式来表达这在javascript。我想对最后n-1个元素排序

g = g.slice(0,1).concat(g.slice(1,g.length-1).sort(mycomparison))

如果您对另一种看起来更整洁的方式感兴趣,请参阅下面的underscore.js方式:

g =  [].concat(_.first(g), _sort(_.tail(g), mycomparison ));

使用下划线无助于提高性能,但它只是简化并使您的代码更具可读性。从上面的例子中,我相信它对那些不经常使用下划线的人来说是有意义的。

它是直接和语义的,所以人们阅读它并立即理解它分割了第一个,和数组g的其余部分,对其余部分进行排序并重新连接它们。(对我来说,它看起来比普通的JavaScript更具可读性)