题目
假设传入的参数就是“2时5分”、“3时46秒”这种格式的字符串,省去参数类型检测。
略去检测分秒数大于 60 的情况。
思路:
- 先把字符串 split 打散转换为数组
- forEach() 遍历数组元素
- 找出“时”、“分”等关键词的 index
- 据此切分拼接新格式数组
注意点:
- arguments 和对应参数的绑定
- 非严格模式下,当传入实参,实参和 arguments 的值会共享(一改都变)
- 所以,注一 处需要先保存 arguments[0] 的值,再进行参数的修改。如果线修改了第一个参数,由于绑定效应,arguments[0] 的值被篡改而丢失。
代码实现:
// 格式转换函数
function transfer(str) {
// 字符串转数组
let arr = str.split("");
let hour, min, sec, secIndex, minIndex, hourIndex;
// 遍历获