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

slice() 和 splice()

slice()splice() 写几个常见开发场景的实用例子


✅ 一、slice() 应用示例(不会修改原数组)


🎯 1. 分页展示(每页显示 n 条)

const data = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const page = 2;
const pageSize = 3;const pageData = data.slice((page - 1) * pageSize, page * pageSize);
console.log(pageData); // [4, 5, 6]

🎯 2. 复制数组的一部分做备份

const arr = ['A', 'B', 'C', 'D'];
const copy = arr.slice();  // 整个复制
copy.push('E');console.log(arr);  // ['A', 'B', 'C', 'D']
console.log(copy); // ['A', 'B', 'C', 'D', 'E']

🎯 3. 获取最后 n 个元素

const logs = [1, 2, 3, 4, 5];
const lastTwo = logs.slice(-2);  // 从末尾截取两个console.log(lastTwo); // [4, 5]

✅ 二、splice() 应用示例(会修改原数组)


🎯 1. 删除数组中的指定元素

const arr = ['A', 'B', 'C', 'D'];
const index = arr.indexOf('B');
if (index !== -1) {arr.splice(index, 1);  // 删除 1 个元素
}
console.log(arr); // ['A', 'C', 'D']

🎯 2. 插入新元素到指定位置

const arr = ['A', 'C', 'D'];
arr.splice(1, 0, 'B');  // 在索引1插入 'B'console.log(arr); // ['A', 'B', 'C', 'D']

🎯 3. 替换元素(编辑功能)

const arr = ['A', 'B', 'C'];
arr.splice(1, 1, 'X'); // 删除1个,插入'X'(替换)console.log(arr); // ['A', 'X', 'C']

🎯 4. 实现“撤销删除”功能

const arr = ['A', 'B', 'C'];
const removed = arr.splice(1, 1); // 删除 'B'
console.log(arr);     // ['A', 'C']
console.log(removed); // ['B']// 撤销
arr.splice(1, 0, removed[0]);
console.log(arr);     // ['A', 'B', 'C']

🧠 总结思路:

使用场景用哪个?
不想动原数组,只是取一部分slice()
要修改原数组,删除/插入/替换元素splice()
http://www.dtcms.com/a/312503.html

相关文章:

  • 信创及一次ORACLE到OB的信创迁移
  • 自由学习记录(76)
  • Python 的标准库 bisect 模块
  • 源码交易平台排行榜
  • 机器学习 决策树基本介绍
  • Mysql的MVCC是什么
  • HCIE-Datacom题库_07_设备【道题】
  • 《深入解析 Python 的 `*args` 和 `**kwargs`:从基础使用到高级应用》
  • 【数据结构】哈希表实现
  • 网关和BFF是如何演化的
  • uniapp 跨端开发
  • 基于Springboot+UniApp+Ai实现模拟面试小工具八:管理端基础功能实现
  • (论文速读)探索多模式大型语言模型的视觉缺陷
  • DeepSeek 论文夺冠,智谱开源 GLM-4.5,OpenAI 学习模式上线!| AI Weekly 7.28-8.3
  • 基于机器学习的Web应用漏洞分析与预测系统,使用django框架,三种机器学习模型
  • 深入探讨AI在测试领域的三大核心应用:自动化测试框架、智能缺陷检测和A/B测试优化,并通过代码示例、流程图和图表详细解析其实现原理和应用场景。
  • 关于Web前端安全防御之内容安全策略(CSP)
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例 采用PyTorch 内置函数F.kl_div的实现方式
  • 【Linux系统】进程间通信:匿名管道
  • AI 时代的 IT 从业者:共生而非替代
  • 人声伴奏分离API:音乐智能处理的强大工具
  • Spring AI 项目实战(二十二):Spring Boot + AI +DeepSeek实现智能合同数据问答助手​(附完整源码)
  • 小白学OpenCV系列2-理解图像
  • MySQL--高可用MHA集群详解及演练
  • SelectDB数据库,新一代实时数据仓库的全面解析与应用
  • CICD--自动化部署--jinkins
  • 深度学习中的三种Embedding技术详解
  • OSPF知识点整理
  • [Oracle] 获取系统当前日期
  • ABP VNext + Quartz.NET vs Hangfire:灵活调度与任务管理