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

slice方法

slice方法与splice方法相比slice方法不会修改原数组

一、语法以及描述

说明:通过start 和 end对原数组进行浅拷贝(提取 start 至 end 索引的数组元素)

语法Array.slice([start[, end])

参数

  1. start : 开始索引

  1. end : 结束索引

返回值:返回一个新的数组

是否改变原数组:否

二、参数

1. 无参数

说明:从起始处索引(0)开始提取数组元素,直至结束

返回值:从起始处索引到结束索引的所有数组元素

原数组:不发生任何变化

示例

var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice()console.log('arr', arr);
// ['A', 'B', 'C', 'D']
console.log('res', res);
// ['A', 'B', 'C', 'D']
2. 只有一个参数start

说明:从 start 索引开始提取数组元素,直至结束

  负数 : 表示从倒数 start 索引开始提取数组元素

  正数 : 从 start 索引开始提取数组元素,直至结束

返回值:从 start 索引到结束索引的所有数组元素,如果 start 大于原数组长度,则返回空数组

原数组:不发生任何变化

示例

// 1. 正数
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(1)console.log('arr', arr);
// ['A', 'B', 'C', 'D']
console.log('res', res);
// ["B", "C", "D"]// 2. 负数
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(-1)console.log('arr', arr);
// ['A', 'B', 'C', 'D']
console.log('res', res);
// ["D"]// 3. 大于数组长度的值
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(6)console.log('arr', arr);
// ['A', 'B', 'C', 'D']
console.log('res', res);
// []
3. 有两个参数startend

说明:从 start 索引开始提取数组元素,直至 end 索引(包括 start,但不包括 end)

返回值:从 start 索引到 end 索引的所有数组元素

原数组:不发生任何变化

示例

var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(1, 3)console.log('arr', arr);
// ["A", "B", "C", "D"]
console.log('res', res);
// ["B", "C"]

三、注意

  1. 如果之只传入一个大于数组长度的参数,则返回一个空数组

  1. 无论是如何提取数组元素,原数组始终保持不变

http://www.lryc.cn/news/35474.html

相关文章:

  • DevOps工具集合
  • 手把手教你安装Linux!!!
  • 图像分割(Unet算法学习笔记)
  • Fortinet 发布《2022下半年度全球威胁态势研究报告》,七大发现值得关注
  • ThinkPHP 6.1 模板篇之循环和选择标签
  • Jetpack太香了,让开发效率提升了不少
  • 【软考中级信安】第四章--网络安全体系与网络安全模型
  • 四、GC分析内存调优
  • 如何快速开发一套分布式IM系统
  • W806|CKLINK LITE|调试|elf文件模板|CSDK|Debug|学习(4):CKLINK调试W806
  • 【100个 Unity实用技能】 ☀️ | 脚本无需挂载到游戏对象上也可执行的方法
  • 「IT女神勋章」挑战赛#
  • 易优cms user 登录注册标签
  • 源码安装Redis 7.0.9并且systemctl管理
  • 编写程序:有92号和95号汽油可以选择,选择你需要的汽油,并输入需要加油的升数,点击按钮“`计算总价钱`“在div中可以得到你所需要支付的价格
  • 参考文献去哪里查找,参考文献标准格式是什么
  • WIFI标签操作步骤
  • 【Hello Linux】命令行解释器
  • 开源一个通用的 HTTP 请求前端组件
  • 等保测评机构资质申请条件是什么?个人可以申请吗?
  • android 卡顿、ANR优化(1)屏幕刷新机制
  • Landsat8中*_MTL.txt文件详解
  • 好的提高代码质量的方法有哪些?有什么经验和技巧?
  • yum保留安装包
  • ERP系统哪家比较好?
  • Python读写mdb文件的实战代码
  • MAC和IP地址在字符串形式、数字形式和byte数组中的转换
  • 时间轮来优化定时器
  • 《和AI交朋友》教学设计——初识人工智能
  • 机载雷达的时间简史