1. 程式人生 > 實用技巧 >正則,轉換陣列

正則,轉換陣列

const defaultConfig = [
    {
        key: 'my-info',
        name: '我的資料',
        isShow: true,
        isAct: false,
        noHeader: false,
        children: [
            { key: '', name: '基本資料', isAct: false },
            { key: 'change-avator', name: '修改頭像', isAct: false },
            { key: 
'change-pwd', name: '修改密碼', isAct: false }, { key: 'change-name', name: '修改暱稱', isAct: false }, { key: 'realname', name: '實名認證', isAct: false }, { key: 'change-phone', name: '繫結手機', isAct: false }, { key: 'change-email', name: '修改郵箱', isAct: false } ] }, { key:
'my-msg', name: '我的訊息', isShow: true, isAct: false, noHeader: false, children: [ { key: '', name: '', isAct: false }, { key: 'guild', name: '', isAct: false } ] }, { key: 'my-wealth', name: '我的財富', isShow: true, isAct: false
, noHeader: false }, { key: 'my-follow', name: '我的關注', isShow: true, isAct: false, noHeader: false }, { key: 'my-order', name: '視訊訂單', isShow: true, isAct: false, noHeader: false }, { key: 'my-history', name: '觀看歷史', isShow: true, isAct: false, noHeader: false }, { key: 'my-appointment', name: '賽事預約', isShow: true, isAct: false, noHeader: false }, { key: 'my-card', name: '我的卡券', isShow: false, isAct: false, noHeader: false }, { key: 'my-guess', name: '我的趣猜', isShow: true, isAct: false, noHeader: false }, { key: 'my-medal', name: '我的獎牌', isShow: true, isAct: false, noHeader: false }, { key: 'my-upload', name: '我的投稿', isShow: true, isAct: false, noHeader: false }, { key: 'my-collection', name: '視訊收藏', isShow: true, isAct: false, noHeader: false }, { key: 'room-manger', name: '房間管理', isShow: true, isAct: false, noHeader: false }, { key: 'realname-verify', name: '實名認證', isShow: true, isAct: false, noHeader: false }, { key: 'anchor-guild', name: '主播公會', isShow: true, isAct: false, noHeader: true }, { key: 'room-setting', name: '直播設定', isShow: true, isAct: false, noHeader: false, children: [ { key: '', name: '房間設定', isAct: false }, { key: 'room-admin', name: '管理員', isAct: false }, { key: 'blacklist', name: '黑名單', isAct: false }, { key: 'ipban', name: '遮蔽IP', isAct: false } ] }, { key: 'room-special', name: '主播專用', isShow: true, isAct: false, noHeader: false, children: [ { key: '', name: '預約比賽', isAct: false }, { key: 'record', name: '直播記錄', isAct: false }, { key: 'profit', name: '直播收益', isAct: false }, { key: 'draw', name: '抽獎記錄', isAct: false }, { key: 'convert', name: '', isAct: false } ] }, { key: 'guess-manage', name: '趣猜管理', isShow: true, isAct: false, noHeader: false }, { key: 'guild-manage', name: '公會管理', isShow: true, isAct: false, noHeader: true }, { key: 'guessexpert', name: '比賽預測', isShow: true, isAct: false, noHeader: true }, { key: 'apply-live', name: '申請直播', isShow: true, isAct: false, noHeader: false } ]; let a = defaultConfig.map(c=>c.key.replace(/-(\w)/,function ($0,$1){ // $0 => -x; $1 => x return $1.toUpperCase(); })+'RootSaga') // ["myInfoRootSaga","myMsgRootSaga","myWealthRootSaga","myFollowRootSaga","myOrderRootSaga","myHistoryRootSaga","myAppointmentRootSaga","myCardRootSaga","myGuessRootSaga","myMedalRootSaga","myUploadRootSaga","myCollectionRootSaga","roomMangerRootSaga","realnameVerifyRootSaga","anchorGuildRootSaga","roomSettingRootSaga","roomSpecialRootSaga","guessManageRootSaga","guildManageRootSaga","guessexpertRootSaga","applyLiveRootSaga"]