typescript 按顶级属性值排序对象数组。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 按顶级属性值排序对象数组。相关的知识,希望对你有一定的参考价值。
/**
* Order an array alphabetically by property
*
* @param {Array} items The array of objects to sort
* @param {String} property The property to sort by
* @param {Boolean} isDescending A flag determining if the array should be sorted ascending or
* descending
* @return {Array} sortedArray The sorted array
*/
export default function orderArrayByProperty(items: any[], property: string, isDescending: boolean = true): any[] {
return items.sort((a: string, b: string) => {
const nonAlphaRegex = /\W+/g;
// Check for existence and lowercase
const aProp = a[property] ? a[property].toLowerCase().replace(nonAlphaRegex, '') : null;
const bProp = b[property] ? b[property].toLowerCase().replace(nonAlphaRegex, '') : null;
// Sort ascending or descending
const aIsFirstReturn = isDescending ? -1 : 1;
const bIsFirstReturn = isDescending ? 1 : -1;
if (aProp < bProp) {
// Sort ascending
return aIsFirstReturn;
} else if (aProp > bProp) {
// Sort descending
return bIsFirstReturn;
} else {
// Do not sort
return 0;
}
});
}
以上是关于typescript 按顶级属性值排序对象数组。的主要内容,如果未能解决你的问题,请参考以下文章
数组列表按布尔值排序,然后按日期 JavaScript / TypeScript
按字符串属性值对对象数组进行排序
Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、布尔值)
JavaScript对象数组如何按指定属性和排序方
带有多个属性的对象的打字稿排序数组
在Java中按属性值对对象ArrayList进行排序