Javascript 如何将数字数组映射到计时值

Javascript 如何将数字数组映射到计时值,javascript,Javascript,嗨,我有一组数字 let timearray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; 但问题是,我在DOM中显示数组值,但我希望它的值能够相应地映射。例如:如果是上午0点->12点,如果是下午18点->6点。我该怎么做?有什么想法吗,伙计们?我只能想用别的方法来绘制地图。但这看起来很难看。有什么想法吗?您需要这样定义阵列: 常量时间数组=[ “12:00am”, “凌晨1:00”, “凌晨2:00”,

嗨,我有一组数字

let timearray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];

但问题是,我在DOM中显示数组值,但我希望它的值能够相应地映射。例如:如果是上午0点->12点,如果是下午18点->6点。我该怎么做?有什么想法吗,伙计们?我只能想用别的方法来绘制地图。但这看起来很难看。有什么想法吗?

您需要这样定义阵列:

常量时间数组=[ “12:00am”, “凌晨1:00”, “凌晨2:00”, “凌晨3:00”, ... “晚上10点”, “晚上11:00”, ] console.logtimearray[3] //凌晨3:00
您需要像这样定义数组:

常量时间数组=[ “12:00am”, “凌晨1:00”, “凌晨2:00”, “凌晨3:00”, ... “晚上10点”, “晚上11:00”, ] console.logtimearray[3] //凌晨3:00 这正是我们的目的:

或者您可以使用对象

let timearray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]

let map = {
    0: "12:00am",
    18: "6:00pm"
}

let mapped = timearray.map(function(value) {
    return map[value]
})
如果您只是想将24小时时间转换为12小时时间,而不想映射这些值,那么在谷歌上搜索24小时时间到12小时时间,您就会找到答案。

这正是它的用途:

或者您可以使用对象

let timearray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]

let map = {
    0: "12:00am",
    18: "6:00pm"
}

let mapped = timearray.map(function(value) {
    return map[value]
})
如果您只是想将24小时时间转换为12小时时间,而不想映射这些值,那么在谷歌上搜索24小时时间到12小时时间,您就会找到答案。

以下是一个示例功能,您可以根据需要使用和改进:

常量时间数组=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; const result=timeArray.mapt=>{ 常数ampm=t%12; 返回`${ampm===0?12:ampm}:00${t>=12?'pm':'am'}`; }; console.logresult下面是一个示例函数,您可以根据需要使用和改进:

常量时间数组=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; const result=timeArray.mapt=>{ 常数ampm=t%12; 返回`${ampm===0?12:ampm}:00${t>=12?'pm':'am'}`; };
console.logresult要使用am/pm格式将12小时格式的整数转换为小时,可以使用:

设timearray=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; timearray.forEachx=>{ var后缀=x>=12?下午:上午; 小时数=x+11%12+1+后缀; 控制台。对数小时; }
; 要使用am/pm格式将12小时格式的整数转换为小时,您可以使用:

设timearray=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]; timearray.forEachx=>{ var后缀=x>=12?下午:上午; 小时数=x+11%12+1+后缀; 控制台。对数小时; }
;<在这种情况下,你也可以考虑利用一个库,例如,Simult.js。 以下是您案例中的用法示例:

var time = moment(2,"h:hh A");
console.log(time);
// 02:00am

这种方法的好处是,如果需要,可以很容易地格式化输出。

您也可以考虑利用这种情况下的库,例如,Simult.js。 以下是您案例中的用法示例:

var time = moment(2,"h:hh A");
console.log(time);
// 02:00am

这种方法的好处是,如果需要,您可以轻松格式化输出。

为了澄清,您想将24小时时间转换为12小时时间?他似乎想将整数转换为原始小时。为了澄清,你想把24小时变成12小时?他好像想把整数转换成原始小时。对不起,很遗憾我不能。特定的时间值来自范围滑块。范围从0到23。所以我不能给滑块字符串赋值,我的JSX中有这样一个逻辑->{value}{:00}{value>12?'pm':'am'},所以am和pm是动态的。但当值达到13时,我需要转换为下午1:00等。这可能看起来很愚蠢,但实际上是最有效的方法。对不起,很遗憾,我不能。特定的时间值来自范围滑块。范围从0到23。所以我不能给滑块字符串赋值,我的JSX中有这样一个逻辑->{value}{:00}{value>12?'pm':'am'},所以am和pm是动态的。但是当值达到13时,我需要转换到1:00pm等。这可能看起来很愚蠢,但实际上是最有效的方法