JS对象去掉下划线属性

JS对象去掉下划线属性

最近在写node端,所以遇到数据库直接返回数据带下划线的情况

需要把下划线属性换成驼峰属性

封装了两个方法

  • 将下划线换为驼峰

const replaceUnderLine = (val, char = '_') => {
  const arr = val.split('')
  const index = arr.indexOf(char)
  arr.splice(index, 2, arr[index+1].toUpperCase())
  val = arr.join('')
  return val
}
console.log(replaceUnderLine('test_prop')) // testProp
  • 替换对象中的下划线属性

const  filterUnderLine = (obj, char = '_') => {
  const arr =  Object.keys(obj).filter(item => item.indexOf(char) !== -1)
  arr.forEach(item => {
    const before = obj[item]
    const key = replaceUnderLine(item)
    obj[key] = before
    delete obj[item]
  })
  return obj
}
console.log(filterUnderLine({test_name: 'frank'})) // { testName: 'frank }

当然其中的_可以换成任意字符,只要在方法的第二个参数传入就可以了

喜欢就点个赞吧,谢谢~

猜你喜欢

转载自blog.csdn.net/frank_come/article/details/80860190