##JS获取某文件夹里的.js文件
1 2 3 4 5 6 7 8
|
const constRoutesFiles = require.context( "@/router/config", false, /\.js$/ );
|
1 2 3 4 5 6 7 8 9 10 11 12 13
|
export const UnionpayCommon = [ 'UnionpayResult' ];
export const Unionpay = { 'UnionpayQuery': [], 'UnionpaySign': [ 'UnionpaySignConfirm' ] }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
export function getConfigPages (key = '') { const routeConfigObj = constRoutesFiles.keys().reduce((routeNames, routeName) => { const module = constRoutesFiles(routeName)
let tempObj = {} for (let key in module) { if (!(module[key] instanceof Array)) { tempObj = Object.assign(tempObj, { ...module[key] }) } } return Object.assign(routeNames, tempObj) }, {}) return routeConfigObj[key] }
|
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。用于合并数组或合并对象。
routeNames保存在此数组;routeName累加对象;最后{}为初始值;
注:如果没有初始值,则第一项为初始值,routeName从第二项开始
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const arr = [1,2,3,4,5]; const sum = arr.reduce(function(prev,cur,index,arr){ console.log(prev,cur,index); return prev + cur; }); console.log('arr:',arr,'sum:',sum);
|