Numbers
对数字进行排序时,可以使用紧凑比较:
var numericArray: number[] = [2, 3, 4, 1, 5, 8, 11];
var sortedArray: number[] = numericArray.sort((n1,n2) => n1 - n2);
i.e. -
而不是<
.
其他类型
如果您要比较其他内容,则需要将比较结果转换为数字。
var stringArray: string[] = ['AB', 'Z', 'A', 'AC'];
var sortedArray: string[] = stringArray.sort((n1,n2) => {
if (n1 > n2) {
return 1;
}
if (n1 < n2) {
return -1;
}
return 0;
});
Objects
对于对象,您可以根据属性进行排序,请记住上面有关能够简写数字类型的信息。无论类型如何,下面的示例都有效。
var objectArray: { age: number; }[] = [{ age: 10}, { age: 1 }, {age: 5}];
var sortedArray: { age: number; }[] = objectArray.sort((n1,n2) => {
if (n1.age > n2.age) {
return 1;
}
if (n1.age < n2.age) {
return -1;
}
return 0;
});