javascript - 如何合并两个数组,类似于对象的下划线扩展方法

标签 javascript arrays sorting date underscore.js

我有两个数组数组,其中格式化日期作为键,数字作为相应的值。

第一个数组为我提供了使用 moment.js 的最后 7 天的数据,并且所有值都设置为零。

第二个数组为我提供了上周几天的一些有意义的统计数据(如果有的话);在当前实例中,只有一天会返回任何数字。

我想将第二个数组合并到第一个数组中并保留优先级,即初始时间段数组值将被第二个数组中的值覆盖,然后返回一个用于图表等的数组。

我尝试通过转换为对象并使用下划线扩展方法来做到这一点,但排序没有保留,这很重要。

这是当前代码:

var length = 7,
    day = moment(),
    arr = [];

while (length--) {
    arr.push([day.subtract('days', length).format('D MMM'), 0]);
}

返回最近 7 天的数组,例如

[["26 Nov", 0], ["27 Nov", 0]]... 

然后我从数据库查询中得到以下内容:

[["26 Nov", 6]]

所以我希望最终结果是:

[["26 Nov", 6], ["27 Nov", 0]]...

最佳答案

使用 native 脚本

for(var i=0; i < newArray.length; i++){
    var d=newArray[i][0];
    for( var j= 0; j < oldArray.length ; j++){
         if( oldArray[j][0] ===d){
            oldArray[j][1] = newArray[i][1];
         }
    }
}

关于javascript - 如何合并两个数组,类似于对象的下划线扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20320566/

相关文章:

javascript - 将 BASH 的日期格式转换为 JavaScript 的日期格式

javascript - 幻灯片循环播放,但选择按钮会导致速度加快

javascript - 是否可以隐藏/禁用 ImageMapster 中的区域?

mysql - SQL 按字母升序和数字降序排列同一列

c - 用一个指针对链表进行冒泡排序

javascript - jQuery .on() 是否支持 "load"或 "ready"事件?

c - c中int**函数的返回

javascript - 每第三次迭代后中断循环

java - 将通用列表转换为 java 对象

java - 如何按对象特定变量的字母顺序将对象添加到数组列表