组合 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;
}
});
我有 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;
}
});