提交 3e9d1093 编写于 作者: S sw_pc

对象名称转换

上级 d92c2a48
......@@ -9,7 +9,8 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"leaflet": "^1.9.4"
"leaflet": "^1.9.4",
"lodash": "^4.17.21"
},
"devDependencies": {
"live-server": "^1.2.2"
......@@ -1008,6 +1009,11 @@
"node": ">=0.10.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz",
......
......@@ -3,9 +3,12 @@
"version": "1.0.0",
"description": "just 4 learn",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "live-server ./leaflet"
"dev": "live-server ./leaflet",
"===": "test",
"test_js": "node ./utils/test/js/index.js"
},
"keywords": [
"study"
......@@ -13,7 +16,8 @@
"author": "yemao",
"license": "ISC",
"dependencies": {
"leaflet": "^1.9.4"
"leaflet": "^1.9.4",
"lodash": "^4.17.21"
},
"devDependencies": {
"live-server": "^1.2.2"
......
/*
1. 转换测试
2. 编写函数
3. 单元测试
*/
import _ from 'lodash'
function snakeCaseObject(originObj) {
if (!_.isObject(originObj)) {
return originObj
}
const ret = {};
for (let key in originObj) {
let val = originObj[key]
// console.log(key, val)
// 将key转换为下划线方式
let keyNew = _.snakeCase(key)
ret[keyNew] = val
}
return ret
}
function camelCaseObject(originObj) {
if (!_.isObject(originObj)) {
return originObj
}
const ret = {};
for (let key in originObj) {
let val = originObj[key]
// console.log(key, val)
// 将key转换为下划线方式
let keyNew = _.camelCase(key)
ret[keyNew] = val
}
return ret
}
function kebabCaseObject(originObj) {
if (!_.isObject(originObj)) {
return originObj
}
const ret = {};
for (let key in originObj) {
let val = originObj[key]
// console.log(key, val)
// 将key转换为下划线方式
let keyNew = _.kebabCase(key)
ret[keyNew] = val
}
return ret
}
export {
camelCaseObject,
snakeCaseObject,
kebabCaseObject,
}
\ No newline at end of file
import _ from 'lodash'
import {camelCaseObject, snakeCaseObject, kebabCaseObject} from '../../js/object.js'
function test() {
// lodash库函数测试
console.log(_.isObject({}))
console.log(_.isObject(1))
console.log(_.isObject(null))
console.log(_.camelCase('a_bc')) // aBc
console.log(_.snakeCase('aBc')) // a_bc
console.log(_.kebabCase('aBc')) // a-bc
// 单元测试
let obj = {aBc: 1, en: 'khz', cnNew: '华仔'}
let objSnake = snakeCaseObject(obj)
console.log(objSnake) // { a_bc: 1, en: 'khz', cn_new: '华仔' }
let objCamel = camelCaseObject(objSnake)
console.log(objCamel) // { aBc: 1, en: 'khz', cnNew: '华仔' }
let objKebab = kebabCaseObject(objSnake)
console.log(objKebab) // { 'a-bc': 1, en: 'khz', 'cn-new': '华仔' }
}
test()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册