gpt4 book ai didi

javascript - 如何区分变量值中的时间和上午、下午?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:01:13 25 4
gpt4 key购买 nike

我有以下值。

var list = "09:05, 10:05, 12:30, 16:30 , ... , ..."

列表中values的类型是普通字符串,不是对象。

根据这个值,我想划分上午0点到12点,下午13点到23点。

因此,我想要的结果如下(如果查看log值的话)

var am = am 09:05 , am 10:05
var pm = pm 12:30 , pm 16:30

可能是一道简单的题,但是对于我这个脚本小白来说却是一道非常难的题。

请帮帮我。

最佳答案

首先创建一个排序函数

var sort = ( a, b ) => convertToMin( a ) - convertToMin( b ); 
var convertToMin = ( a ) => ( items = a.split( ":" ).map( Number ), items[ 0 ] * 60 + items[ 1 ] );

现在使用reduce来分离数组

var output = list.reduce( (a,b) =>  //using reduce to iterate, a is the accumulator and b is item in array for current iteration
( convertToMin(b) > 12*60 ? a.pm.push( b ) : a.am.push( b ), a ) ,
{ am :[], pm : [] }) ; //accumulator is initialized to { am :[], pm : [] }

output.am.sort( sort );
output.pm.sort( sort );

演示

var list = ["09:05", "10:05", "12:30", "16:30"];
var sort = (a, b) => convertToMin(a) - convertToMin(b);
var convertToMin = (a) => (items = a.split(":").map(Number), items[0] * 60 + items[1]);

var output = list.reduce((a, b) =>
(convertToMin(b) > 12 * 60 ? a.pm.push(b) : a.am.push(b), a), {
am: [],
pm: []
});

output.am.sort(sort);
output.pm.sort(sort);

console.log(output);

关于javascript - 如何区分变量值中的时间和上午、下午?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com