微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重写Lodash snakeCase功能

如何解决如何重写Lodash snakeCase功能

我正在使用lodash将文本转换为snakeCase,并且陷入了一种特殊情况,即我应该保持字母数字值不变。

当我将字符串传递为“ This is AAA456B”时。 lodash revealjs-url会将其转换为“ this_is_aaa_456_b”

预期结果类似于“ this_is_aaa456b”。

有没有一种方法可以覆盖破折号snakeCase(str)以忽略字母数字值?

解决方法

您应该创建自己的函数,而不是覆盖现有的

const str = "This is AAA456B"

_.mixin({
  customSnakeCase: s => _
    .chain(s)
    .split(/(\d+)/)
    .map(_.snakeCase)
    .join('')
    .value()
})



console.log(_.customSnakeCase(str))
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.20/lodash.min.js"></script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。