CollectionUtils.ts
2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import LinkList from '@ohos.util.List';
import HashMap from '@ohos.util.HashMap';
/**
* CollectionUtils class.
*/
export class CollectionUtils {
/**
* The Array utils tag.
*/
private static readonly TAG: string = 'CollectionUtils';
/**
* Check collection is empty or not.
* @param collection any[]
* @returns {boolean} true(empty)
*/
static isEmpty(collection?: any[]): boolean {
return!collection || collection.length === 0;
}
// static isEmptyList<T>(list1?: LinkList<T>): boolean {
// return !list1 || list1.length === 0;
// }
//
// static isEmptyHashMap(obj?: HashMap<any, any>): boolean {
// if (!obj) {
// return true;
// }
// return obj.isEmpty();
// }
//
// static isEmptyMap(obj?: Map<any, any>): boolean {
// if (!obj) {
// return true;
// }
// return Object.keys(obj).length === 0 && obj.constructor === Object;
// }
//
// static isEmptyRecord(obj?: Record<string, string>): boolean {
// if (!obj) {
// return true;
// }
// return Object.keys(obj).length === 0 && obj.constructor === Object;
// }
/**
* Check collection is empty or not.
* @param collection any[]
* @returns {boolean} true(not empty)
*/
static isNotEmpty(collection?: any[]): boolean {
if (!collection) {
return false
}
return collection.length > 0;
}
static getLength(collection?: any[]): number {
return CollectionUtils.isEmpty(collection) ? 0 : collection.length;
}
static getElement(collection?: any[], index?: number): any {
if (CollectionUtils.isEmpty(collection) || index === undefined) {
return null;
}
return index >= 0 && index < collection.length ? collection[index] : null;
}
/**
* 截取集合部分数据。
* start:0 - end:20 截取0-19,共20个数据
*/
static getSubElements(collection?: any[], start?: number, end?: number): any[] {
if (CollectionUtils.isEmpty(collection) || start === undefined || end === undefined) {
return null;
}
if (start < 0 || end < start) {
return null;
}
if (end > collection.length) {
return null;
}
let ss = collection.slice(start, end);
ss;
return collection.slice(start, end);
}
static isArray(value: any): boolean {
if (typeof Array.isArray === 'function') {
return Array.isArray(value);
} else {
return Object.prototype.toString.call(value) === '[object Array]';
}
}
}