按ID删除数组对象

问题描述

我正在尝试通过ID删除离子存储中的数组对象。但是它没有按预期工作。我该怎么办。这是我的代码

page.ts

 removeItem(id){
    this.storage.get('storedAdd').then((val) => {
      console.log(Object.keys(val))
      Object.keys(val).splice(id,1)
      console.log(val)
     for(let element of Object.keys(val)){
        console.log(val[element])
        val[element].id.toString().splice(id,1)
         this.storage.set('storeAdd',val)
          console.log(val)
     }
}

我正在使用拼接器,但出现此错误

ERROR Error: Uncaught (in promise): TypeError: val[element].id.toString(...).splice is not a function
TypeError: val[element].id.toString(...).splice is not a function

编辑

enter image description here

解决方法

我认为您不能在那里使用toString,因为 splice()方法通过删除或替换现有元素和/或在适当位置添加新元素来更改数组的内容。 删除密钥的示例为0:我已经使用了删除

let myObject = {
  0: {
        "id" : 1,"text": "text1"
    },1: {
        "id" : 2,"text": "text2"
    }
};

delete myObject[0];
console.log(myObject);