我想比較兩個對象看看它們是否相等。對象 A (offer) 是原始對象,對象 B (offerTemp) 是 A 的副本。對象 A 顯示在組件的表格中,以查看表格中是否有任何更改,我想將 A 與 B 進行比較。但是當我調用該函數來檢查它們是否相等時,它說對象不相等。我認為這是因為對象 A 有該對象的引用,而 B 沒有(至少這是我在控制臺中記錄這兩個對象時看到的)。對象 A(報價)(來自控制臺):Offer {id: 1834, title: "A great article offer - 1834", description: "browser", sellDate: Mon Dec 25 2045 21:54:06 GMT+0100 (Central European Standard Time), valueHighestBid: 753, …}對象 B (offerTemp)(來自控制臺):{id: 1834, title: "A great article offer - 1834", description: "browser", sellDate: Mon Dec 25 2045 21:54:06 GMT+0100 (Central European Standard Time), valueHighestBid: 753, …}這是來自component.ts:ngOnInit(): void { this.offer = this.offerService.FindById(this.editOfferId); this.offerTemp = Object.assign({}, this.offer); }cancelSelected(offer: Offer): void{ if (offer === this.offerTemp) { // do stuff... } else { console.log(this.offer === this.offerTemp); // false in the console console.log(this.offer); console.log(this.offerTemp); } }這是我的 html 中的部分:<div> <table> <tr> <th>Selected offer details: (id: {{offer.id}})</th> </tr> <tr> <td>Title</td> <td> <input [(ngModel)]="offer.title" type="text" name="" id=""> </td> </tr> <tr> <td>description</td> <td> <input [(ngModel)]="offer.description" type="text" name="" id=""> </td> </tr> <tr> <td>auctionStatus</td> <td> <select> <option *ngFor="let key of keys" [value]="key" [selected]="offer.auctionStatus">{{statusen[key]}}</option> </select> </td> </tr> <tr> <td>valueHighestBid</td> <td> <input [(ngModel)]="offer.valueHighestBid" type="text" name="" id=""> </td> </tr>有沒有什么方法可以在沒有對象引用的情況下比較這些對象,或者可以通過其他方式解決這個問題?
比較沒有對象引用的兩個對象 Angular 10
慕的地8271018
2023-07-14 15:32:40