组合 2 个不同长度的数组并对日期进行排序

Combine 2 arrays of different lengths and sort date

我有 2 个不同长度的数组

let daysArray = ['09-20', '09-21', '09-22', '09-23', '09-24', '09-25', '09-26']

let weekNameArray = ['Mi', 'Do', 'Fr', 'Sa + So', 'Mo', 'Di' ]

将它们与 _.zipWith 合并:

let weakDateArr = _.zipWith(weekNameArray, daysArray , function(first, second) {
          return first + " " + second  
        });

我如何将它们组合起来得到下一个数组:

['Mi 09-20', 'Do 09-21', 'Fr 09-22', 'Sa + So', 'Mo 09-25', 'Di 09-26']

'Sa + So' 必须未注明日期 *

嗯,不确定 lodash 是否支持开箱即用...

您可以应用一个简单的自定义解决方案,使用 Array.map()daysArray 的索引偏移量:

days_offset = 0;
let combined = weekNameArray.map( (name, index) => {
    if(name.length <= 2) {
    return name + ' ' + daysArray[ index - days_offset ];
  } else {
    days_offset += 1;
    return name;
  }
});