zoukankan      html  css  js  c++  java
  • 将用驼峰命名的字符串转为下划线命名(面试题)

    实现将对象下所有key由驼峰/Pascal转成下划线分割:

    toSnakeCase({
       UserName: 'toutiao',
        group: {
           GroupName: 'douyin'
       }        
    }) => {
        user_name: 'toutiao',
        group: {
            group_name: 'douyin'
        }
    };
    stringObject.replace(regexp/substr,replacement)
    参数描述
    regexp/substr

    必需。规定子字符串或要替换的模式的 RegExp 对象。

    请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

    replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

    eplacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

    字符替换文本
    $1、$2、...、$99 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
    $& 与 regexp 相匹配的子串。
    $` 位于匹配子串左侧的文本。
    $' 位于匹配子串右侧的文本。
    $$ 直接量符号。

    解决方法:

    //方法 
    objectHumpToLine(obj) {
            var newObj = new Object()
            for (let key in obj) {
                newObj[key.replace(/([A-Z])/g, "_$1").toLowerCase()] = obj[key]
            }
            return newObj
        }
  • 相关阅读:
    避免数据脏读
    OGG配置文件中参数化的运用
    GoldenGate基于中间队列文件的初始化
    一次linux中毒,挖矿病毒
    goldengate新版本中查看日志读取点
    dlopen用法参数flag介绍
    gdb调试带参数和调试core
    在现有的git服务器上面创建新的repo
    Play Old Diablo 2 on macOS Catalina
    Odoo中的Environment对象
  • 原文地址:https://www.cnblogs.com/lguow/p/13818787.html
Copyright © 2011-2022 走看看