[{
"day": "Sat",
"raw_date": "21/9/2017",
"value": 123
},{
"day": "Sun",
"raw_date": "22/9/2017",
"value": 4
}]
如何使用map向上面的数组添加3天?因为我有天财,我无法推动,我必须得到最后一项并从那里开始,我已经尝试过这样做
const result = arr.map((obj, i) => {
if(i === arr.length - 1) { // should add 2 more days here
return {
day: moment(obj.day).add(1, 'd').format('DD MMM'),
raw_date: moment(obj.raw_date).add(1, 'ddd').format('d'),
value: 0
}
}
return obj
})
但如何再增加2天?用另一张地图?我知道我可以这样做,但寻找更优雅的方法。
答案 0 :(得分:0)
您无需在此处使用地图。
var numberOfDates = 2;//change here if you want to vary it
for(var i=0; i < numberOfDates; i++){
var lastObj = arr[arr.length -1];
arr.push({
day: moment().isoWeekday(lastObj.day).add(1,'day').format('ddd'),
raw_date: moment(lastObj.raw_date, 'DD/M/YYYY').add(1,'day').format('DD/M/YYYY'),
value: 0
});
}
Jsfiddle链接:http://jsfiddle.net/dp7rzmw5/4360/
答案 1 :(得分:0)
array.map
函数用于转换值的数组长度。并且根据您的要求,思考(棘手的方式)如何使用 数组函数 。
要么
只需使用for()
。
请参阅此处https://atendesigngroup.com/blog/array-map-filter-and-reduce-js