多元素嵌套列表的自定义排序
Custom sort of multi-element nested list
我想使用每个子数组中的第一个元素对以下数组进行排序:
lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
我想对此列表进行排序,使其看起来像这样:
srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
如何在纯 JavaScript 中执行此操作?(没有外部库,下划线等?
Array.sort 方法将比较函数作为可选参数,
您可以像这样指定一个:
function compare(a, b) { .... }
所以使用匿名函数你可以这样做:
lst.sort(function(a,b) {
if (a[0] < b[0]) return -1;
if (b[0] < a[0]) return 1;
return 0;
});
注意:虽然sort返回排序后的数组,但它也作用于您正在运行该方法的数组,因此如果您需要保持原始lst
数组的完整性和原始顺序,则值得记住,您可能需要在执行排序操作之前进行克隆。
相关文章:
- 我们如何自定义排序JavaScript对象键
- ExtJS 4-自定义排序函数只在点击列标题后执行
- 如何使用下划线根据自定义排序顺序对对象数组进行排序
- 从JSON对列表进行自定义排序
- 使用J-query数据表,美国日期格式的自定义排序不起作用
- 当数组的某些部分没有数据时,javascript自定义排序
- AngularJS typeahead添加了按函数自定义排序
- 通过自定义排序 ID 对数据表列进行排序
- 全日历是否支持全天事件的自定义排序
- AngularJS中的自定义排序函数
- 多元素嵌套列表的自定义排序
- 使用 jQuery 插件 dataTables 进行自定义排序科学记数法
- AngularJs中的自定义排序
- Javascript自定义排序功能取决于用户输入
- 可编程触发的剑道网格上的自定义排序
- YUI DataTable自定义排序
- 剑道网格自定义排序
- jQuery dataTable列的自定义排序
- Backbone/Javascript中的按24小时时钟时间自定义排序
- AngularJS中的自定义排序