我有以下数据:
[["Balin Sankar","10","English","91.1408767700195"],
["Balin Sankar","10","Maths","88.1268997192383"],
["Balin Sankar","10","Science","90.3445739746094"],
["Balin Sankar","10","History","87.1235580444336"],
["Balin Sankar","10","Geography","88.2675628662109"],
["Balin Sankar","10","Civics","89.6238479614258"],
["Balin Sankar","10","Economics","86.5236434936523"]]
我需要根据第4个值
对这些进行排序答案 0 :(得分:2)
您可以将lodash的sortBy函数传递给选择列表中第四项的函数:
Int => A
var result = _.sortBy(data, item => parseFloat(item[3]))
var data = [["Balin Sankar","10","English","91.1408767700195"],
["Balin Sankar","10","Maths","88.1268997192383"],
["Balin Sankar","10","Science","90.3445739746094"],
["Balin Sankar","10","History","87.1235580444336"],
["Balin Sankar","10","Geography","88.2675628662109"],
["Balin Sankar","10","Civics","89.6238479614258"],
["Balin Sankar","10","Economics","86.5236434936523"]]
var result = _.sortBy(data, item => parseFloat(item[3]))
var output = document.getElementById('result')
_.each(result, item => output.textContent += (item[2] + ' ' + item[3] + '\n'))
答案 1 :(得分:1)
你不需要为此付出代价。可以使用常规sort
:
var array = [["Balin Sankar","10","English","91.1408767700195"],
["Balin Sankar","10","Maths","88.1268997192383"],
["Balin Sankar","10","Science","90.3445739746094"],
["Balin Sankar","10","History","87.1235580444336"],
["Balin Sankar","10","Geography","88.2675628662109"],
["Balin Sankar","10","Civics","89.6238479614258"],
["Balin Sankar","10","Economics","86.5236434936523"]];
array.sort(function(a, b) {
return a[3] - b[3];
});
console.log(array);