删除数组对象中的某一个对象

var list=[
     { title: 'A',name: 'A1' },
     { title: 'B' , name: 'B1'}
   ]
list.push({ title: 'C',name: 'C1'}) //往数组中push数据
console.log(list)
var newArr = list.filter(function (item) {
  return item.title.match(/A/)  //将数组中的某个对象去掉
})
console.log(newArr)//0: {title: "A", name: "A1"}
console.log(list)//[{ title: 'B' , name: 'B1'},{ title: 'C',name: 'C1'}]


### 如何在 JavaScript 中移除 localStorage 存储的数组对象中的某一对象 为了实现从 `localStorage` 中存储的数组对象删除一个特定的对象,可以按照以下方式操作: 1. **获取已有的数据**:通过 `getItem()` 方法读取存储的内容并将其解析为 JSON 对象。 2. **修改数据结构**:找到目标对象所在的索引位置,并从数组中移除它。 3. **重新存储数据**:将更新后的数组转换成字符串形式并通过 `setItem()` 方法写回到 `localStorage`。 以下是具体的代码示例以及解释: ```javascript // 定义函数来移除指定对象 function removeObjectFromLocalStorage(key, conditionFn) { let storedData = window.localStorage.getItem(key); // 获取本地存储的数据 [^1] if (storedData === null || storedData.trim() === "") { console.log("No data found with key:", key); return; } let dataArray = JSON.parse(storedData); // 解析为数组 if (!Array.isArray(dataArray)) { console.error(`The item under the key "${key}" is not an array.`); return; } // 使用 filter 过滤掉符合条件的目标对象 const updatedArray = dataArray.filter(item => !conditionFn(item)); // 更新后的数组重新设置到 localStorage window.localStorage.setItem(key, JSON.stringify(updatedArray)); // 保存更改 [^1] } // 假设我们要从 'demo' 数组中移除 id 等于 5 的对象 const demoKey = 'demo'; setLocalStorage(demoKey, [{id: 1}, {id: 5}, {id: 3}]); removeObjectFromLocalStorage(demoKey, obj => obj.id === 5); console.log(JSON.parse(window.localStorage.getItem(demoKey))); // 输出剩余项 ``` #### 关键点说明: - 上述代码定义了一个通用函数 `removeObjectFromLocalStorage` 来处理从 `localStorage` 中删除满足条件的对象的任务。 - 函数接收两个参数:一个是存储键名 (`key`);另一个一个判断函数 (`conditionFn`),用来决定哪些对象应该被保留下来。 - 利用了 `filter` 方法创建一个新的不包含匹配条件的新数组 。 关于生命周期方面需要注意的是,上述例子基于 `localStorage` 实现持久化存储。如果改用 `sessionStorage`,则其内容会在会话结束(即浏览器关闭)时自动销毁 [^2][^3]。 ### 注意事项 当执行以上逻辑前,请确认所访问的键确实对应着一个有效的 JSON 字符串表示的数组,否则可能会抛出错误或者得到意外的结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管火火火

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值