zs
2025-04-28 1f32ea02c1910c417f159cba81a296e66ae7484c
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
/**
 * 创建一个对象
 */
export class Create<T> {
  constructor(args: T) {
    this.init(args)
  }
 
  [key: string]: any
 
  /**
   * 初始化对象,要求结构[[key, value]] 或 { key: value }
   *
   * new Create([1,2]) or new Create({ 1: 2 })
   * @param args
   */
  private init(args: T) {
    if (Array.isArray(args)) {
      args.forEach(([key, value = '']) => {
        this[key] = value
      })
    } else if (args instanceof Object) {
      Object.entries(args).forEach(([key, value = '']) => {
        this[key] = value
      })
    }
  }
 
  /**
   * 设置值
   * @param key
   * @param value
   * @returns void
   */
  set(key: string, value: any) {
    return (this[key] = value)
  }
  /**
   * 获取值
   * @param key
   * @returns any
   */
  get(key: string) {
    return this[key]
  }
 
  /**
   * 删除值
   * @param key
   */
  remove(key: string) {
    delete this[key]
  }
  /**
   * 添加值
   * @param key
   * @param value
   * @returns
   */
  insert(key: string, value: any) {
    return (this[key] = value)
  }
 
  /**
   * 更新数据
   * @param o
   * @returns
   */
  update(o: T) {
    this.init(o)
  }
  /**
   * 重置对象
   */
  reset() {
    Object.entries(this).forEach(([key, value]: string[]) => {
      if (typeof this[key] !== 'function') {
        this.remove(key)
      }
    })
  }
}