关注
我是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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
15272次浏览 274人参与
# 硬件人你反向读研了吗 #
39424次浏览 608人参与
# 京东TGT #
24049次浏览 149人参与
# 硬件人秋招的第一个offer #
65198次浏览 1081人参与
# 非技术岗投递进展 #
137416次浏览 1222人参与
# 滴滴工作体验 #
22906次浏览 123人参与
# 材料进Fab厂真的劝退吗? #
35731次浏览 158人参与
# 不考虑转正,实习多久合适 #
23686次浏览 117人参与
# 机械求职避坑tips #
40726次浏览 355人参与
# 机械只有转码才有出路吗? #
125786次浏览 1590人参与
# 职场新人生存指南 #
329730次浏览 7064人参与
# 面试经验谈 #
10681次浏览 161人参与
# 互联网回暖,腾讯要招5000+人! #
263437次浏览 4888人参与
# vivo求职进展汇总 #
208556次浏览 1341人参与
# 异地恋该为对方跳槽吗 #
21931次浏览 115人参与
# 硬件人更看重稳定还是高薪 #
37128次浏览 199人参与
# 面试吐槽bot #
2052次浏览 23人参与
# 你遇到过哪些神仙同事 #
69033次浏览 623人参与
# 租房找室友 #
26807次浏览 142人参与
# 25届如何提前做秋招准备? #
163787次浏览 2451人参与
# 携程求职进展汇总 #
485896次浏览 3577人参与