初级
我有3个数组,我想根据日期和时间进行组合和排序。
所有3个数组,只有日期和时间值。
实施例:
var slackStart = []; //time the current starts for the week.
var CurrentTurn = []; //time the current turns for the week.
var slackStop = []; //time the current stops for the week.
输出slackStart(包含一周的所有开始时间):
[ "2017-10-24T03:15:36Z", "2017-10-24T09:13:44Z", "2017-10-24T15:41:27Z", "2017-10-24T21:40:27Z", "2017-10-25T03:47:20Z"]
我需要根据日期和时间组合3个数组并进行排序。我还需要知道值来自哪个数组。如果它是slackStart,我知道它是当前的开始时间。
我想这样显示它。
当前开始时间:11/11/17 12:00
当前转弯:11/11/17 14:00
当前停止:11/11/17 17:00
组合阵列很简单,但我怎么知道它来自哪个阵列? 我尝试使用按键,但有点挣扎。
任何帮助都将不胜感激。
答案 0 :(得分:0)
只需调用'concat'方法即可组合数组:
var aryA = [1,2,3]
,aryB = [4,5,6]
,aryResult = aryA.concat(aryB);
'aryResult'将包含[1,2,3,4,5,6],就识别它的来源而言,日期是独特的吗?
如果没有,那么您应该忘记一个数组并转换为每个条目都有唯一键的对象,然后您只需使用该键。
var objResult = {};
for( var idx in aryResult ) {
objResult["k" + idx] = aryResult[idx];
}
上面会将组合数组转换为一个对象,每个成员都有一个以k开头,后跟数组索引的键。