簡體   English   中英

TypeScript:數組中的拼接值拋出錯誤

[英]TypeScript: Splice Value from array throws Error

我想從數組中刪除一個值。

我的代碼運行良好,但 Visual Studio 代碼表明存在問題:

我的代碼:

 removeFromFav(){ var favoritesArray: Array<any> = this.getFavorites() for(let key in favoritesArray){ if(favoritesArray[key].hidx === this.hidx && favoritesArray[key].kontenrahmen === this.kontenrahmen ) { favoritesArray.splice(key, 1); } } localStorage.setItem( this.storageName, JSON.stringify(favoritesArray) ); }

錯誤信息:

沒有重載匹配此調用。 重載 1 of 2, '(start: number, deleteCount?: number | undefined): any[]',給出以下錯誤。 Das Argument vom Typ "string" kann dem 參數 vom Typ "number" nicht zugewiesen werden。 重載 2 of 2, '(start: number, deleteCount: number, ...items: any[]): any[]',給出了以下錯誤。 Das Argument vom Typ "string" kann dem 參數 vom Typ "number" nicht zugewiesen werden。

問題似乎是第 5 行中的“關鍵”但是我該如何解決呢?

提前致謝:)

您收到錯誤,因為語法不正確。 以下是語法:

let arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

您可以提及開始索引,刪除計數:要刪除的項目數和 item1..itemN:要添加到數組中。

您應該指定如下內容:

favoritesArray.splice(parseInt(itemIndex), 1);

由於 for..in 以字符串類型而不是數字返回鍵,因此您應該解析為數字然后使用。

有關更多詳細信息,請參閱此處的文檔arraysplice

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM