Showing
3 changed files
with
48 additions
and
12 deletions
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | const _ = require('lodash'); | 7 | const _ = require('lodash'); |
8 | const API = require('../../../library/api'); | 8 | const API = require('../../../library/api'); |
9 | const sign = require('../../../library/sign'); | 9 | const sign = require('../../../library/sign'); |
10 | +const camelCase = require('../../../library/camel-case'); | ||
10 | 11 | ||
11 | const api = new API(); | 12 | const api = new API(); |
12 | 13 | ||
@@ -22,37 +23,36 @@ const processFloor = (list) => { | @@ -22,37 +23,36 @@ const processFloor = (list) => { | ||
22 | return formatData; | 23 | return formatData; |
23 | }; | 24 | }; |
24 | 25 | ||
26 | +/** | ||
27 | + * 处理侧边栏数据 | ||
28 | + * @param {[array]} list | ||
29 | + * @return {[array]} | ||
30 | + */ | ||
25 | const processSideBar = (list) => { | 31 | const processSideBar = (list) => { |
26 | - let formatData = []; | 32 | + const formatData = []; |
27 | let offset = 0; // 分割数组用到的游标 | 33 | let offset = 0; // 分割数组用到的游标 |
28 | 34 | ||
29 | _.forEach(list, (item, i) => { | 35 | _.forEach(list, (item, i) => { |
30 | - _.forEach(Object.keys(item), (k) => { | ||
31 | - item[_.camelCase(k)] = item[k]; // 下划线变量名转换为驼峰 | ||
32 | - }); | 36 | + item = camelCase.listCamelCase(item); |
33 | 37 | ||
34 | if (item.sub) { | 38 | if (item.sub) { |
35 | let sub = []; | 39 | let sub = []; |
36 | 40 | ||
37 | - // 子菜单键名驼峰化 | ||
38 | _.forEach(item.sub, (s) => { | 41 | _.forEach(item.sub, (s) => { |
39 | - _.forEach(Object.keys(s), (key) => { | ||
40 | - s[_.camelCase(key)] = s[key]; // 下划线变量名转换为驼峰 | ||
41 | - }); | 42 | + s = camelCase.listCamelCase(s); // 子菜单键名驼峰化 |
42 | sub.push(s); | 43 | sub.push(s); |
43 | }); | 44 | }); |
44 | - | ||
45 | item.sub = sub; | 45 | item.sub = sub; |
46 | } | 46 | } |
47 | 47 | ||
48 | - // 如果有分隔符,分割数组 | 48 | + // 如果有分隔符,分割数组 |
49 | if (item.separativeSign === 'Y') { | 49 | if (item.separativeSign === 'Y') { |
50 | formatData.push(list.slice(offset, i)); | 50 | formatData.push(list.slice(offset, i)); |
51 | offset = i; | 51 | offset = i; |
52 | } | 52 | } |
53 | }); | 53 | }); |
54 | 54 | ||
55 | - // 数组被分割剩余的部分 | 55 | + // 数组被分割剩余的部分 |
56 | formatData.push(list.slice(offset)); | 56 | formatData.push(list.slice(offset)); |
57 | return formatData; | 57 | return formatData; |
58 | }; | 58 | }; |
library/camel-case.js
0 → 100644
1 | +/** | ||
2 | + * 对象键名驼峰化 | ||
3 | + * @author: Bi Kai<kai.bi@yoho.cn> | ||
4 | + * @date: 2016/05/09 | ||
5 | + */ | ||
6 | + | ||
7 | +const _ = require('lodash'); | ||
8 | + | ||
9 | +/** | ||
10 | + * 对象键值驼峰化(未测试) | ||
11 | + * @param {[object]} obj | ||
12 | + * @return {[object]} | ||
13 | + */ | ||
14 | +const camelCase = (obj) => { | ||
15 | + _.forEach(obj, (k) => { | ||
16 | + obj[_.camelCase(k)] = obj[k]; // 下划线变量名转换为驼峰 | ||
17 | + }); | ||
18 | + | ||
19 | + return obj; | ||
20 | +}; | ||
21 | + | ||
22 | +/** | ||
23 | + * 对象数组,对象键值驼峰化 | ||
24 | + * @param {[type]} list | ||
25 | + * @return {[type]} | ||
26 | + */ | ||
27 | +const listCamelCase = (list) => { | ||
28 | + _.forEach(Object.keys(list), (k) => { | ||
29 | + list[_.camelCase(k)] = list[k]; // 下划线变量名转换为驼峰 | ||
30 | + }); | ||
31 | + | ||
32 | + return list; | ||
33 | +}; | ||
34 | + | ||
35 | +exports.camelCase = camelCase; | ||
36 | +exports.listCamelCase = listCamelCase; |
-
Please register or login to post a comment