Javascript结合并排序数组

时间:2017-10-25 14:49:19

标签: javascript arrays sorting

初​​级
我有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

组合阵列很简单,但我怎么知道它来自哪个阵列? 我尝试使用按键,但有点挣扎。

任何帮助都将不胜感激。

1 个答案:

答案 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开头,后跟数组索引的键。