const arr = [{a:1}, {a:2}];
const copyWithSpread = [...arr];
const copyWithSlice = arr.slice();
copyWithSpread[0].a = 5;
console.log(arr); // исходный массив изменен [{a:5}, {a:2}]
copyWithSlice[1].a = 6;
console.log(arr); // исходный массив изменен [{a:5}, {a:6}]
components:{
default: BookBase,
air: FromAirport,
adr: FromAddress
}
<template>
<div>
<router-view></router-view>
<router-view name="air"></router-view>
<router-view name="adr"></router-view>
</div>
</template>
// differenceInDays и format импортированы из date-fns
function invertArray(array: DepartureDate[] = []): DepartureDate[]
{
if (!array.length) {
return [];
}
const first = array.slice().shift();
const last = array.slice().pop();
const days = differenceInDays(parse(last.date), parse(first.date));
const dates = [{date: first.date, minTicketPrice: 0}];
for (let i = 1; i < days; i++) {
const date = format(addDays(parse(first.date), i), 'YYYY-MM-DD');
dates.push({date, minTicketPrice: 0});
}
return (uniqBy([...array, ...dates], 'date') as DepartureDate[]).filter(date => !date.minTicketPrice);
}