JS物件去掉下劃線屬性
阿新 • • 發佈:2018-11-17
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 }
當然其中的_可以換成任意字元,只要在方法的第二個引數傳入就可以了