Я хочу преобразовать этот объект массива - значения могут быть изменены, не обращайте на это внимания
Я попробовал это, но не сработало. Как мне преобразовать его в следующее с помощью JavaScript?
var msg = [{
room_no: 'Room #1',
invoice: '#001',
check_in: '2019-02-20T06:45:00.000Z',
check_out: '2019-02-25T05:30:00.000Z',
booking_type: '3',
booking_status: 'checked-out'
},
{
room_no: 'Room #2',
invoice: '#002',
check_in: '2019-03-07T07:45:00.000Z',
check_out: '2019-03-09T06:30:00.000Z',
booking_type: '2',
booking_status: 'Stay-in'
},
{
room_no: 'Room #2',
invoice: '#002',
check_in: '2019-03-20T07:45:00.000Z',
check_out: '2019-03-22T06:30:00.000Z',
booking_type: '2',
booking_status: 'Stay-in'
}
]
// into this array object
[{
"Room #1": [{
"2015/02/20": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
"2015/02/21": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
"2015/02/22": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
"2015/02/23": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
"2015/02/24": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
"2015/02/25": [{
"Invoice": "#001",
"BookingType": "2",
"Status": 3
}],
}],
"Room #2": [{
"2015/03/07": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}],
"2015/03/08": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}],
"2015/03/09": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}],
"2015/03/20": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}],
"2015/03/21": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}],
"2015/03/22": [{
"Invoice": "#002",
"BookingType": "2",
"Status": 3
}]
}]
}]
Я хочу преобразовать этот объект массива - значения могут быть изменены, не обращайте на это внимания
Я попробовал это, но не сработало. Как мне преобразовать его в следующее с помощью JavaScript?
Я пробовал этот способ, но не работал
const moment = require('moment');
const MomentRange = require("moment-range"),
Moment = MomentRange.extendMoment(moment);
var object3={}
msg.map((obj, i) => {
let
range = Moment().range(obj.check_in, obj.check_out),
datesarray = Array.from(range.by("days"));
// console.log("range",range);
datesarray.map( m => {
// object3[m.format("YYYY/MM/DD")]= [{"Invoice":obj.invoice,"BookingType":obj.booking_type,"Status":obj.booking_status}]
object3[m.format("YYYY/MM/DD")]= [{"Invoice":obj.invoice,"BookingType":obj.booking_type,"Status":obj.booking_status}]
// [{"Invoice":obj.invoice,"BookingType":obj.booking_type,"Status":obj.booking_status}]
console.log("day",m.format("YYYY/MM/DD"),obj.invoice,"BookingType",obj.booking_type,"Status",obj.booking_status)
});
// object2[obj.room_no]=["dd"]
// console.log("range",obj.room_no)
// object1[obj.room_no]=[object2]
});
// console.log("object 2",object2)
// console.log("obj",object3)