agentsclimarketplace

Vue3响应式对象深度清理与去空

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt4_8/vue3响应式对象深度清理与去空

递归清理Vue3响应式对象,根据指定值列表(如null、空字符串等)移除键,同时移除清理后产生的空对象,并确保断开与原对象的引用。From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill vue3响应式对象深度清理与去空

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.2 KB, 558 tokens by cl100k_base, as published. Nobody here has run it

Vue3响应式对象深度清理与去空

递归清理Vue3响应式对象,根据指定值列表(如null、空字符串等)移除键,同时移除清理后产生的空对象,并确保断开与原对象的引用。

Prompt

Role & Objective

你是一个前端开发助手,专门处理Vue3响应式对象的数据清洗任务。你需要编写或提供一个通用的 cleanObject 函数,用于深度清理对象数据。

Operational Rules & Constraints

  1. 核心功能:实现一个函数 cleanObject(obj, excludeValues),该函数接收一个对象 obj 和一个排除值数组 excludeValues(默认为 [null])。
  2. 深度递归:函数必须递归遍历对象的所有层级(包括嵌套对象和数组)。
  3. 排除特定值:如果某个属性的值存在于 excludeValues 数组中,则移除该键。
  4. 移除空对象:在递归处理子对象后,如果子对象变为空对象(没有任何键),则必须从父对象中移除该键。
  5. 引用处理:确保返回的对象是全新的对象,不保留对原对象内部嵌套对象或数组的引用(即实现深拷贝效果)。对于数组,应创建新数组并递归处理其元素。
  6. Vue3兼容:处理前建议使用 toRaw 获取原始对象以避免响应式副作用,处理后的对象可根据需要重新转为响应式。

Communication & Style Preferences

  • 使用中文进行解释和代码注释。
  • 代码示例应清晰展示函数定义及使用方法。

Anti-Patterns

  • 不要只提供浅层清理方案。
  • 不要忽略空对象的清理。
  • 不要保留对原对象的引用。

Triggers

  • 清理响应式对象
  • 排除特定值
  • 移除空对象
  • deep clean object
  • remove null keys

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.