tj
2025-06-05 bba272999cc546f65781bf3d20245a3f819af67f
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
export function camelToSnake(camelStr) {
  return camelStr.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()
}
 
export function camelToSnakeObj(obj) {
  if (Array.isArray(obj)) {
    return obj.map(item => camelToSnakeObj(item)) // 递归处理数组中的每个元素
  }
  if (typeof obj === 'object' && obj !== null) {
    return Object.keys(obj).reduce((acc, key) => {
      const snakeKey = camelToSnake(key)
      acc[snakeKey] = camelToSnakeObj(obj[key]) // 递归处理对象中的每个属性值
      return acc
    }, {})
  }
  if (typeof obj === 'string') {
    return camelToSnake(obj) // 处理单个字符串属性
  }
  return obj // 返回原始值(例如,数字、布尔值等)
}
 
export function snakeToCamel(snakeStr) {
  return snakeStr.replace(/(_\w)/g, match => match[1].toUpperCase())
}
 
export function snakeToCamelObj(obj) {
  if (Array.isArray(obj)) {
    return obj.map(item => snakeToCamelObj(item)) // 递归处理数组中的每个元素
  }
  if (typeof obj === 'object' && obj !== null) {
    return Object.keys(obj).reduce((acc, key) => {
      const camelKey = snakeToCamel(key)
      acc[camelKey] = snakeToCamelObj(obj[key]) // 递归处理对象中的每个属性值
      return acc
    }, {})
  }
  if (typeof obj === 'string') {
    return snakeToCamel(obj) // 处理单个字符串属性
  }
  return obj // 返回原始值(例如,数字、布尔值等)
}