我在我的角度應用中的以下接口:返回數組不給定對象
interface Reservation {
id: string;
from: Date;
to: Date;
}
interface Bedroom {
id: string;
reservations: Array <Reservation> ;
}
interface House {
id: string;
bedrooms: Array <Bedroom>;
}
在某些時候,我從House
的Array
在S一定Bedroom
內刪除從Reservation
並返回整個的副本House
Array
只有沒有刪除Reservation
項目。
我不能改變現有的Array
House
s。我應該怎麼做?
這個問題似乎是不言自明的。進行深層複製,遍歷它並刪除屬性。這種方法你有問題嗎?你嘗試了什麼? – estus
所以我實際上想避免迭代每個項目的性能原因。我想知道我可以使用'JSON.parse(JSON.stringify(房屋))'然後實際上去「採摘?」保留對象從結果對象中返回。 – Sammy
'JSON.parse(JSON.stringify ...'幾乎不會對性能有好處,在深度複製實現中您不會看到它,您可以深度複製並從中刪除屬性,或者可以省略屬性手工複製數組並檢查是否可以比_,cloneDeep等現有解決方案更好地進行深度複製。無法避免迭代,因爲數組處理無法迭代完成, – estus