热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
通过高效生成高质量代码、多场景适配功能,助力开发者提升效率并优化代码质量。
以下是根据用户输入生成的高质量JavaScript代码及相关注释和代码使用示例:
{
"code": "function removeDuplicates(array) {\n // 创建一个新的 Set 数据结构,因为 Set 的特性是不允许有重复值。\n // Array.from 将 Set 转换为一个新的数组,完成去重操作。\n return Array.from(new Set(array));\n}",
"comments": "// removeDuplicates 函数的实现逻辑:\n// 1. Set 是一种内置的数据结构,能够存储唯一值。\n// 因此,当将包含重复项的数组传递给 Set 时,重复元素会被自动移除。\n// 2. 使用 Array.from 方法,将 Set 返回的新集合转换为数组。\n// 3. 最终返回去重后的数组。\n// 优点:该方法简单高效,时间复杂度为 O(n),非常适合处理大数组。",
"examples": [
"// 示例 1:基本用法\nconst inputArray = [1, 2, 2, 3, 4, 4, 5];\nconst uniqueArray = removeDuplicates(inputArray);\nconsole.log(uniqueArray); // 输出:[1, 2, 3, 4, 5]\n\n// 示例 2:处理字符串数组\nconst stringArray = ['apple', 'orange', 'apple', 'banana'];\nconst uniqueStrings = removeDuplicates(stringArray);\nconsole.log(uniqueStrings); // 输出:['apple', 'orange', 'banana']\n\n// 示例 3:空数组测试\nconst emptyArray = [];\nconst resultForEmptyArray = removeDuplicates(emptyArray);\nconsole.log(resultForEmptyArray); // 输出:[]\n\n// 示例 4:单一重复值数组\nconst singleValueArray = [42, 42, 42, 42];\nconst resultForSingleValueArray = removeDuplicates(singleValueArray);\nconsole.log(resultForSingleValueArray); // 输出:[42]"
],
"generationStatus": "success"
}
{ "code": ` // 实现一个深拷贝函数,支持处理循环引用和各种数据类型
function deepClone(obj, map = new WeakMap()) { // 如果不是对象或数组,则直接返回(基本数据类型无需拷贝) if (typeof obj !== 'object' || obj === null) { return obj; }
// 检查对象是否存在于WeakMap中,处理循环引用 if (map.has(obj)) { return map.get(obj); }
// 创建拷贝对象:根据类型初始化Array或Object const copy = Array.isArray(obj) ? [] : {};
// 将当前对象存入WeakMap中,用于处理循环引用 map.set(obj, copy);
// 遍历对象的属性并递归处理每个属性的拷贝 for (const key in obj) { if (obj.hasOwnProperty(key)) { // 递归调用deepClone,逐步拷贝属性 copy[key] = deepClone(obj[key], map); } }
// 处理Symbol属性(可以通过Object.getOwnPropertySymbols获取) const symbolKeys = Object.getOwnPropertySymbols(obj); for (const symKey of symbolKeys) { copy[symKey] = deepClone(obj[symKey], map); }
return copy;
}
, "comments": // 深拷贝函数的逻辑说明
// 1. 处理基本数据类型,直接返回原值。
// - 基本数据类型(如string、number、boolean)是值类型,无需深拷贝。
// 2. 当传入的值是对象或数组时,继续下面的处理:
// - 基于WeakMap检查对象是否已经存在(用于处理循环引用)。
// - 如果是循环引用对象,返回WeakMap中存储的拷贝值,以确保避免无限递归。
// 3. 根据原始对象的类型,初始化一个拷贝(数组则创建空数组,对象则创建空对象)。
// 4. 遍历对象中的每个属性:
// - 使用递归调用将每个属性进行深度拷贝。
// - 需要额外处理Symbol类型的属性,因为普通for...in无法获取它们。
// 5. 返回最终生成的深拷贝对象。
// 此代码还支持处理循环引用,并避免了浅拷贝的局限。`,
"examples": [ `// 示例1:浅层对象的拷贝 const obj1 = { a: 1, b: { c: 2 } }; const clone1 = deepClone(obj1); console.log(clone1); // 输出: { a: 1, b: { c: 2 } } console.log(obj1.b === clone1.b); // 输出: false(已深拷贝)
// 示例2:复杂对象的深拷贝(包含数组) const obj2 = { name: "Alice", skills: ["JavaScript", "Python"] }; const clone2 = deepClone(obj2); console.log(clone2); // 输出: { name: "Alice", skills: ["JavaScript", "Python"] } console.log(obj2.skills === clone2.skills); // 输出: false(深拷贝的数组)
// 示例3:循环引用对象 const circularObj = {}; circularObj.self = circularObj; const clone3 = deepClone(circularObj); console.log(clone3.self === clone3); // 输出: true(正确处理循环引用)
// 示例4:处理Symbol键 const symKey = Symbol('key'); const obj4 = { [symKey]: "symbol value" }; const clone4 = deepClone(obj4); console.log(clone4[symKey]); // 输出: "symbol value"` ] }
{ "code": ` /**
function reverseString(input) { // 检查输入是否为字符串类型,如果不是则抛出错误 if (typeof input !== "string") { throw new Error("输入必须是一个字符串"); }
// 将字符串分割为字符数组,反转数组顺序,最后将数组拼接回字符串 const reversedString = input.split("").reverse().join("");
// 返回反转后的字符串
return reversedString;
}
, "comments":
检查输入类型,确保输入是字符串:
字符串反转的逻辑:
返回值:
错误处理机制:
, "examples": [
/**/**
/**
为JavaScript开发者提供快速、精准、高质量的代码生成助手,帮助用户高效实现功能需求,同时优化代码质量和可读性,兼具教学能力以推动开发者技术成长。
快速实现基础功能需求,通过详细注释和示例掌握JavaScript代码写法与逻辑。
高效完成代码优化、复杂功能实现,节省时间专注于核心开发任务。
为教学场景快速生成示例代码和注释,直观讲解JavaScript代码逻辑,提升学习效果。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期