将数组中对象的属性名转换成驼峰写法

1. 功能示范

// 原数组
const soureList = [
 {
  name: '海绵宝宝',
  user_id: 1001,
  age: 18
 },
 {
  name: '派大星',
  userId: 1002,
  age: 19
 }
]

// 目标数组
const soureList = [
 {
  name: '海绵宝宝',
  userId: 1001,
  age: 18
 },
 {
  name: '派大星',
  userId: 1002,
  age: 19
 }
]

2. 代码实现

// 1) 将字符串转换成驼峰写法
function toHump(str) {
 // 将字符串通过 下划线 拆分成多段 形成一个数组
 var strArr = str.split('_');

 // 将数组中每个元素的第一个字母修改成大写形式
 // charAt(0) 返回该元素的第一个字母 user -> u
 // substring(1) 将字符串从第一个字母开始截取 user -> ser
 for (let i = 1; i < strArr.length; i++) {
  strArr[i] = strArr[i].charAt(0).toUpperCase() + strArr[i].substring(1);
 }

 // 数组转换成字符串
 return strArr.join('');
}

// 2) 格式化数组中的对象
function transData(souceData) {
 return souceData.map(item => {
 // 准备最后返回的对象
 let obj = {}

 Object.keys(item).forEach(key => {
  if (/\_(\w)/.test(key)) {
   // 如果需要转化 则进行驼峰转化
   let _key = toHump(key)
   obj[_key] = item[key]
  } else {
   // 如果不需要直接赋值
   obj[key] = item[key]
  }
 })
  return obj
 })
}

解析:JS字符串转成驼峰的三种方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将小写蛇形命名字符串转换成驼峰命名格式,可以按照以下步骤进行: 1. 将字符串按照下划线分割成单词数组。 2. 将数组中除第一个单词外的其他单词首字母大写。 3. 将数组中所有单词拼接起来,形成驼峰命名格式的字符串。 例如,将字符串 "hello_world" 转换成驼峰命名格式的字符串 "helloWorld",可以按照以下代码实现: ```python s = "hello_world" words = s.split("_") words = [words[0]] + [word.capitalize() for word in words[1:]] camel_case = "".join(words) print(camel_case) # 输出 "helloWorld" ``` ### 回答2: 蛇形命名字符串指的是多个单词用下划线连接的字符串,例如:my_name_is_john。驼峰命名格式则是将多个单词首字母大写,去掉连接符,例如:myNameIsJohn。将蛇形命名字符串转换成驼峰命名格式可以通过以下步骤完成: 1. 将蛇形命名字符串按下划线分割为多个单词,使用split()方法可以实现这一步。 2. 将每个单词的首字母大写,可以使用capitalize()方法实现。 3. 将多个单词连接起来,去掉连接符,可以使用join()方法实现。 以下是示例代码实现: ```python # 蛇形命名字符串 snake_str = 'my_name_is_john' # 按下划线分割单词 words = snake_str.split('_') # 首字母大写并连接单词 camel_case_str = '' for word in words: camel_case_str += word.capitalize() # 输出驼峰命名格式的字符串 print(camel_case_str) ``` 上述代码输出的结果为:myNameIsJohn。 另外,如果要将驼峰命名格式转换为蛇形命名字符串,可以使用正则表达式和replace()方法实现。示例代码如下: ```python import re # 驼峰命名格式字符串 camel_str = 'myNameIsJohn' # 将大写字母前加下划线,并全部转为小写 snake_str = re.sub(r'(?<!^)(?=[A-Z])', '_', camel_str).lower() # 输出蛇形命名格式的字符串 print(snake_str) ``` 上述代码输出的结果为:my_name_is_john。 ### 回答3: 小写蛇形命名字符串是一种常见的命名方式,在编程中也经常会遇到。然而,驼峰命名格式更加规范和易读,因此需要将小写蛇形命名字符串转换成驼峰命名格式。下面介绍两种转换方法。 第一种方法是通过循环遍历字符串,将下划线后面第一个字母转换成大写字母,然后删除下划线,最后将所有单词拼接在一起即可。具体步骤如下: 1. 将小写蛇形命名字符串分割成单词,即以下划线作为分隔符,使用split函数将字符串分割成列表。 2. 使用循环遍历每个单词,将单词的首字母大写,使用capitalize函数实现。 3. 将单词列表中的单词拼接在一起,使用join函数将列表中的元素连接成一个字符串。 示例代码: ```python def snake_to_camel_case(snake_str): words = snake_str.split('_') return ''.join([word.capitalize() for word in words]) ``` 第二种方法是使用正则表达式,通过正则表达式的匹配规则将下划线后面的字母转换成大写字母,然后删除下划线,最后将字符串首字母变成小写,即可得到驼峰命名格式的字符串。具体步骤如下: 1. 导入re库,使用正则表达式匹配下划线后面的字母。 2. 使用sub函数替换匹配到的字符串,将下划线后面的字母转换成大写字母,同时删除下划线。 3. 将字符串的首字母变成小写。 示例代码: ```python import re def snake_to_camel_case(snake_str): camel_str = re.sub('_([a-z])', lambda matched: matched.group(1).upper(), snake_str) return camel_str[0].lower() + camel_str[1:] ``` 这两种方法都可以将小写蛇形命名字符串转换成驼峰命名格式,选择哪一种方法主要取决于程序需要处理的字符串形式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值