我是2楼的,今天看了看昨天写的代码,觉得timeFormat()这个函数写的可扩展性不好,虽然题意中,生成的excel表格中的通信时长单位无非就是:小时、分、秒,但是我在2楼写的那个函数中用if...else将逻辑写死总觉得怪怪的。所以这里把这个方法抽象成一下,写一个自我感觉好维护的的方法,如果牛友们还有好的代码,欢迎留言交流哇(这里就只贴这个方法的改进,一个小的demo,放到整体代码中稍作调整即可): var arr = [ {'通信时长': '5小时03分01秒'}, {'通信时长': '47秒'}, {'通信时长': '1小时'}, {'通信时长': '03分20秒'}, {'通信时长': '2小时13分'} ]; var timeArr = []; // 存储‘通信时长’的数组 var step = ['小时', '分', '秒']; var saveArr = []; // 存储分隔好的‘通信时长’的数组 function timeFormat(arr) { var parseTime = {}; for(var j=0 ; j<arr.lengt敏感词imeArr.push(arr[j]['通信时长']); } console.log(timeArr); for(var i=0 ; i<timeArr.length ; i++) { var currentItem = timeArr[i]; for(var k=0 ; k<step.length ; k++) { var currentStep = step[k]; if(currentItem.indexOf(currentStep) > -1) { var currentVaule = currentItem.split(currentStep)[0]; parseTime[currentStep] = currentVaule; currentItem = currentItem.split(currentStep)[1]; } } saveArr.push(parseTime); parseTime = {}; } return saveArr; } console.log(timeFormat(arr)); 效果: js,只要是它在数组和对象中了,一切存取就迎刃而解喽,哈哈~~
点赞 1

相关推荐

03-15 12:48
门头沟学院 Java
牛牛要早起:这个一般就跟你说有高薪,然后叫你买车,之后血亏
点赞 评论 收藏
分享
你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
牛客网
牛客企业服务