arrayUtils.ts 850 B

123456789101112131415161718192021222324252627282930313233343536
  1. export default class ArrayUtils {
  2. /**
  3. * Trie un tableau
  4. *
  5. * @param array
  6. * @param reverse
  7. */
  8. public static sort(
  9. array: Array<any>,
  10. reverse: boolean = false,
  11. ): Array<Object> {
  12. return array.sort((a, b) => {
  13. return (a < b ? -1 : a > b ? 1 : 0) * (reverse ? -1 : 1);
  14. });
  15. }
  16. /**
  17. * Trie un tableau d'objets selon une propriété commune
  18. *
  19. * @param array Une array d'objets
  20. * @param property Le nom d'une propriété possédée par tous les objets
  21. * @param reverse
  22. */
  23. public static sortObjectsByProp(
  24. array: Array<Object>,
  25. property: string,
  26. reverse: boolean = false,
  27. ): Array<Object> {
  28. return array.sort((a: any, b: any) => {
  29. return (
  30. (a[property] < b[property] ? -1 : a[property] > b[property] ? 1 : 0) *
  31. (reverse ? -1 : 1)
  32. );
  33. });
  34. }
  35. }