我有以下数组:

hours = ["00:00", "04:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00"]


问:如何将上述hours数组中的项目替换为:

newHours = ["0", "4", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22"]

最佳答案

您可以使用带有正则表达式的map。

var updated = hours.map( function (val) { return Number(val.match(/\d{2}/)[0]).toString()});



map()-遍历数组
val.match(/\d{2}/)[0]-匹配字符串的前两位
Number()-将字符串转换为数字以消除前导零-可能刚刚用reg exp做到了。
.toString()-将其转换回所需的字符串。

10-02 00:52
查看更多