VS Code调试控制台中toSpliced()方法抛出TypeError求助
解决
toSpliced is not a function错误 错误原因
Array.prototype.toSpliced是ES2023标准新增的数组方法,仅在Node.js 20.0.0及以上版本、Chrome 110及以上版本(或同内核的其他浏览器对应版本)中得到支持。你的VS Code调试控制台所使用的JavaScript运行环境版本过低,不兼容该方法,因此抛出类型错误。
解决方案
方案1:升级运行环境版本
若使用VS Code内置调试控制台(基于Node.js),直接将Node.js升级至20.x及以上版本即可。升级完成后重启VS Code,再运行代码就能正常调用toSpliced方法。
方案2:手动实现等效功能
如果暂时无法升级环境,可以用数组展开运算符结合splice方法模拟toSpliced的行为——先复制原数组,再在副本上执行修改,确保原数组不受影响:
const months = ["Jan", "Mar", "Apr", "May"]; // 模拟toSpliced(1, 0, "Feb")的效果 const months2 = [...months]; // 复制原数组 months2.splice(1, 0, "Feb"); // 在副本上插入元素 console.log(months2); // ["Jan", "Feb", "Mar", "Apr", "May"] console.log(months); // 原数组保持不变:["Jan", "Mar", "Apr", "May"]
该实现和toSpliced的核心行为完全一致:返回修改后的新数组,原数组不被改动。
内容的提问来源于stack exchange,提问作者Ubeydullah Keleş
相关产品推荐
相关产品推荐

