【发布时间】:2018-10-15 14:23:10
【问题描述】:
我有一个这样的对象:
var data = [
{ id: "fmgbwe45", age: 24, gender: "male" },
{ id: "kjregh23", age: 27, gender: "female" },
{ id: "kjfdhg87", age: 30, gender: "male" },
{ id: "lsdjfk43", age: 10, gender: "female" },
]
我想对对象进行排序,这是我的 预期输出:
var data = [
{ id: "kjfdhg87", age: 30, gender: "male" }, //only one record will match in my sort
{ id: "fmgbwe45", age: 24, gender: "male" },
{ id: "kjregh23", age: 27, gender: "female" },
{ id: "lsdjfk43", age: 10, gender: "female" },
]
我试过这个:
$scope.sort_by = function (newSortingOrder) {
var stringToFilter = newSortingOrder.toString(); //this holds 'kjfdhg87'
var obj = data.sort(function(o) { return o.id - stringToFilter; });
var finalObj = [obj];
sortedData = finalObj;
console.log(sortedData ); //sorting is not working as expected where im doing wrong.
}
【问题讨论】:
-
是否要按 id 字段排序?
-
是的,我想按 id 排序,只有 id。
-
将此称为“排序”是一种糟糕的描述方式。您想要做的就是将具有匹配
id的条目移动到第一个位置,您不需要按任何标准对数组中的其他条目进行排序。
标签: javascript arrays json sorting object