我想通过这些对象的字段总和对数组中的对象进行排序。
示例:
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的总和对这些对象进行排序?感谢
答案 0 :(得分:2)
您可以使用在数组的sort函数中传递的compare函数来实现您想要的结果。
示例代码:codepen example link
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);
}
答案 1 :(得分:2)
好的伙计们,我做到了。
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;
});
请原谅我这个问题。我认为我应该得到所有的弊端。