Javascript 下划线 - 按数组对象中的字段总和排序

Javascript underscore - sort by sum of fields in array's object

本文关键字:字段 排序 对象 下划线 数组 Javascript      更新时间:2023-09-26

我想按这些对象的字段总和对数组中的对象进行排序。

例:

var array = [
  {id: 1, T: 3, G: 3, K: 3},
  {id: 2, T: 5, G: 5, K: 5},
  {id: 3, T: 4, G: 4, K: 4}
];

如何按 T、G、K 的总和对这些对象进行排序?谢谢

好的,伙计们,我做到了。

var array = [
  {id: 1, T: 3, G: 3, K: 3},
  {id: 2, T: 5, G: 5, K: 5},
  {id: 3, T: 4, G: 4, K: 4}
];
var sortedArray = _.sortBy(array, function(array) {
  return array.T + array.G + array.K;
});

请原谅我这个问题。我认为我应得所有的缺点。

您可以使用数组排序函数中传递的比较函数来实现所需的结果。

示例代码

:代码笔示例链接

var data = [
  {id: 1, T: 3, G: 3, K: 3},
  {id: 2, T: 5, G: 5, K: 5},
  {id: 3, T: 4, G: 4, K: 4}
];
function sortData(){
  data.sort(function(a,b){
    return ((a.T+a.G+a.K)-(b.T+b.G+b.K))
  });
  console.log(data);
}