vue3清空数组和数组去重

业务:

 逻辑:

1.点击多选获取每个id 然后点击重置或者分配进行业务处理。

分析:

1.当点击多选通过forEach()把想要的id保存到新数组,但是  复点击多选框,通过push新数组会源源不断加入重复的id

解决:1.新定义一个方法,用来去重

问题2,去重成功后又出现另一个bug,当你反复点击选中/取消选中,ids中的id就已经被保存,所以当你取消选中,id还是会在ids,这时在vue3中要通过ids.length = 0才能置空数组

 

 

### 如何在 Vue 3清空响应式数组Vue 3 中,`reactive` 是一种创建响应式对象的方式。当需要清空由 `reactive` 定义的数组时,可以采用多种方式实现这一目标。以下是几种常见的方法及其适用场景。 #### 使用 `myArray.length = 0` 最简单的方法之一是直接设置数组的长度为零。这种方式会立即清空数组并触发响应式更新[^1]: ```javascript import { reactive } from 'vue'; const numList = reactive([1, 2, 3, 4, 5]); // 清空数组 numList.length = 0; ``` 这种方法利用了 JavaScript 数组原生特性,并且由于 Vue 3数组进行了深层拦截,因此可以直接触发视图更新。 --- #### 替换整个数组为空数组 另一种常用的方法是将原始数组替换为一个新的空数组。这同样能有效触发响应式更新[^4]: ```javascript import { reactive } from 'vue'; const numList = reactive([1, 2, 3, 4, 5]); // 将其替换成一个新数组 numList.splice(0, numList.length); ``` 或者更简洁地写成: ```javascript numList.splice(0, numList.length); // 或者 numList.length = 0; 同样生效 ``` 此方法适用于任何基于 `reactive` 创建的对象或数组。 --- #### 手动触发响应式更新 如果某些情况下上述两种方法未能正常工作,则可以通过显式调用 Vue 提供的相关工具函数来强制刷新数据绑定关系[^2]。不过需要注意的是,在大多数实际开发过程中并不推荐频繁使用此类手段,因为通常框架本身已经很好地处理好了这些细节问题。 对于删除特定项的操作,虽然 Vue 2 支持通过全局 API (`Vue.delete`) 来移除属性并通知观察者系统新渲染界面[^3],但在最新版本中已被废弃掉;取而代之的是建议开发者遵循现代 JavaScript 实践标准来进行相应调整即可满足需求。 --- ### 总结 综上所述,在 Vue 3 当中要完成对一个声明为反应型变量形式存在的列表结构实施彻底清除动作的话,既可以选用改变原有实体大小至零位数亦或是干脆置换成为全新空白集合体这两种途径达成目的。 ```javascript // 示例代码总结 import { reactive } from 'vue'; const numList = reactive([1, 2, 3, 4, 5]); // 方法一:修改 length 属性 numList.length = 0; // 方法二:使用 splice 方法 numList.splice(0, numList.length); // 方法三:置为新的空数组 numList.forEach((_, index) => { delete numList[index]; }); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值