我想从数组中删除一个值。
我的代码运行良好,但Visual Studio Code指示存在问题:
我的代码:
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 Parameter vom Typ "number" nicht zugewiesen werden. 重载 2 的 2, '(开始: 数字, 删除计数: 数字, ...项目:任何[](:任何[]',给出以下错误。 Das Argument vom Typ "string" kann dem Parameter vom Typ "number" nicht zugewiesen werden.
问题似乎是第 5 行的"关键" 但是我该如何解决这个问题呢?
提前致谢:)
您收到错误,因为语法不正确。 以下是语法:
let arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
您可以提及开始索引,删除计数:要删除的项目数和item1。itemN:要添加到数组中。
您应该指定如下所示的内容:
favoritesArray.splice(parseInt(itemIndex), 1);
因为..在字符串类型而不是数字中的返回键中,您应该解析为数字,然后使用。
有关更多详细信息,请参阅此处的文档 arraysplice