当前位置: 首页 > news >正文

js-slice 和 splice 的区别

核心区别:slice不修改原数组,splice会修改原数组

特性slice()splice()
是否修改原数组❌ 不修改(返回新数组)✅ 修改原数组
主要用途截取数组片段添加/删除/替换元素
返回值截取出的新数组被删除的元素数组
参数(start, end)(start, deleteCount, items...)
end参数可选,不包含结束索引无 end 参数

1.slice()- 截取(不改变原数组)

const arr = ['a', 'b', 'c', 'd', 'e'] // 语法:arr.slice(start, end) // 从索引1开始,到索引3结束(不包含3) const result = arr.slice(1, 3) console.log(result) // ['b', 'c'] console.log(arr) // ['a', 'b', 'c', 'd', 'e'] ✅ 原数组不变 // 常用场景: arr.slice(0) // 浅拷贝整个数组 arr.slice(-2) // 从倒数第2个取到末尾 → ['d', 'e'] arr.slice(2) // 从索引2取到末尾 → ['c', 'd', 'e']

2.splice()- 添加/删除/替换(改变原数组)

const arr = ['a', 'b', 'c', 'd', 'e'] // 语法:arr.splice(start, deleteCount, item1, item2, ...) // 场景1:删除 const deleted = arr.splice(1, 2) // 从索引1开始,删除2个 console.log(deleted) // ['b', 'c'] console.log(arr) // ['a', 'd', 'e'] ⚠️ 原数组被修改 // 场景2:添加(deleteCount = 0) const arr2 = ['a', 'b', 'c'] arr2.splice(1, 0, 'x', 'y') console.log(arr2) // ['a', 'x', 'y', 'b', 'c'] // 场景3:替换 const arr3 = ['a', 'b', 'c'] arr3.splice(1, 1, 'x') // 从索引1开始,删除1个,添加'x' console.log(arr3) // ['a', 'x', 'c'] // 场景4:删除所有(从索引1开始) arr.splice(1) // 删除索引1及之后所有元素

3. 常见使用场景

// ✅ 想要获取子数组 → 用 slice(不破坏原数据) const firstThree = arr.slice(0, 3) // ✅ 想要删除某几个元素 → 用 splice arr.splice(2, 1) // 删除索引2的元素 // ✅ 想要在中间插入 → 用 splice arr.splice(2, 0, 'newItem') // ✅ 想要复制数组 → 用 slice const copy = arr.slice()

4. 字符串也有slice(),但没有splice()

const str = 'hello' str.slice(1, 3) // 'el' ✅ 字符串可用 // str.splice() ❌ 字符串没有 splice 方法
http://www.jsqmd.com/news/1070320/

相关文章:

  • Linux一口气删掉近4000行代码!活了40年的苹果协议,最终竟被AI“送走”了……
  • Responses WebSocket 协议详解:为什么它会让 Agent 工作流更快
  • 解锁游戏资源宝库:QuickBMS开源工具深度解析
  • 如何在Mac上轻松运行Windows软件:Whisky跨平台兼容工具完全指南
  • 【AI模型成熟度管理黄金标准】:2026奇点大会首发ML生命周期五级评估框架(附Gartner验证数据)
  • AI工具如何真正读懂你的知识库?揭秘语义对齐失败的7个隐藏根源及实时修复方案
  • Citra模拟器终极指南:如何在PC上完美运行任天堂3DS游戏
  • 为什么92%的AI助手在知识库检索中“装懂”?深度拆解嵌入模型偏差、chunk策略失效与重排序坍塌
  • OFD转图片总踩坑?用对这3个工具,批量转JPG/长图/高清图一次搞定
  • 限流熔断双失效,请求丢失率飙升47%:企业级AI网关速率控制黄金配置清单,仅限内部技术委员会解密
  • 星露谷物语农场规划器:3步打造完美农场的可视化设计神器
  • 企业架构建模利器:ArchiMate开源工具Archi的5大核心优势
  • 3步搞定电脑内存检测:Memtest86+免费内存测试终极指南
  • 喂了海量数据却被 AI 漏掉?教你用企微数据打破大模型知识库的“向量污染”
  • SITS 2026 AI流程自动化水平白皮书核心发现(2024年唯一经CNAS认证的AISMM实证评估)
  • 国际期货主流交易品种
  • 2026永康木门十大品牌专业排名揭秘
  • 别再瞎选:AI 编码工具实战指南
  • 如何在5分钟内快速上手Zotero PDF中文翻译插件:完整指南与最佳实践
  • 星露谷物语农场规划器:可视化打造你的梦想农场
  • 如何用李跳跳自定义规则告别手机应用弹窗烦恼?
  • 计算机毕业设计之jsp基于Java的中国非物质文化网站的设计与实现
  • Notepad++终极Markdown实时预览插件完整指南:5分钟实现高效文档编写
  • macOS窗口布局软件rectangleapp
  • 华硕笔记本终极控制指南:5步从入门到精通G-Helper
  • 第 13 篇:可观测性 —— 日志、指标、追踪
  • OpenBoardView:解决电路板设计文件查看难题的专业开源方案
  • Nano / Mini / Flash Model 完整释义(LLM 行业通用)
  • 虚实同频,迭代共生:数字孪生重塑物理世界运行逻辑
  • kohya_ss训练结果可视化分析:从黑盒到透明训练的科学方法