js截取数组slice(),splice()两种方法[通俗易懂]

js截取数组slice(),splice()两种方法[通俗易懂]slice()返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end用法和截取字符串一样varheros=[“李白”,’蔡文姬’,’韩信’,’赵云’,’甄姬’,’阿珂’,’貂蝉’,’妲己’];console.log(heros.slice(1,4))//[“蔡文姬”,”韩信…

大家好,又见面了,我是你们的朋友全栈君。

slice()

返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end

用法和截取字符串一样   https://blog.csdn.net/qq_43627981/article/details/99621402

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.slice(1,4))//  [ "蔡文姬", "韩信", "赵云" ]开始索引为1 结束索引为4(不包括4)
console.log(heroes)// 不改变原数组  [ "李白", "蔡文姬", "韩信", "赵云", "甄姬", "阿珂", "貂蝉", "妲己" ]

 如果开始索引为负数,将该值加上数组长度后作为开始索引,如果此时还为负数,开始索引为0。

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.slice(-6,4))//  [ "韩信", "赵云" ]开始索引为2 结束索引为4(不包括4)
console.log(heroes.slice(-10,4))//  [ "李白", "蔡文姬", "韩信", "赵云" ]开始索引为0 结束索引为4(不包括4)

如果开始索引大于或等于数组的长度,slice()返回空数组。 

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.slice(8,4))//  [ ]
console.log(heroes.slice(10,4))//  [ ]
console.log(heroes.slice(4,4)) //[ ]
console.log(heroes.slice(5,4)) //[ ]

如果结束索引省略,则截取到数组最后一位。如果为负,数组长度加上该值即为结束索引,如果此时还为负数,返回空数组。

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.slice(1))// [ "蔡文姬", "韩信", "赵云", "甄姬", "阿珂", "貂蝉", "妲己" ]
console.log(heroes.slice(1,-4))//  [ "蔡文姬", "韩信", "赵云" ] 开始索引1  结束索引8+(-4)=4
console.log(heroes.slice(1,-10)) //[ ] 开始索引1  结束索引8+(-10)=-2

splice()

用来添加或者删除数组的数据,只返回被删除的数据,类型为数组(改变原数组)

js截取数组slice(),splice()两种方法[通俗易懂]

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
//当只有索引,从当前索引截取到最后
console.log(heroes.splice(1))// [ "蔡文姬", "韩信", "赵云", "甄姬", "阿珂", "貂蝉", "妲己" ]
console.log(heroes) //['李白']

 当第二个参数(删除数量)小于0视为0。

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.splice(1,-10))//[]
console.log(heroes) // [ "李白", "蔡文姬", "韩信", "赵云", "甄姬", "阿珂", "貂蝉", "妲己" ]

删除并添加。

var heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己'];
console.log(heroes.splice(1,2,['扁鹊'],'孙膑'))//[ "蔡文姬", "韩信" ]
console.log(heroes) //[ "李白",  [扁鹊], "孙膑", "赵云", "甄姬", "阿珂", "貂蝉", "妲己" ]

js截取数组slice(),splice()两种方法[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131632.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工厂模式 Factory Method[通俗易懂]

    工厂模式 Factory Method[通俗易懂]工厂模式 Factory Method动机模式定义实例结构图要点总结笔记动机在软件系统中,经常面临着创建对象的工作,由于需求的变换,需要创建的对象的具体类型经常变换。如何应对这种变换?如何绕过常规的对象创建方法(new),提供一种”封装机制“来避免客户程序和这种”具体对象创建工作“的紧耦合模式定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类实例朴素class ISplitter{public:

    2022年8月11日
    6
  • hi3516dv300芯片手册_hi3518ev300

    hi3516dv300芯片手册_hi3518ev300基于Hi3516DV300的嵌入式入门演练(上)基于Hi3516DV300的嵌入式入门演练(下)文章目录信息前言勉励1开始之前1.1操作系统与开发准备1.2推荐的书籍1.3书本之外2最小系统环境的搭建流程2.1VMWareWorkstationPlayer和Kubuntu2.1.1创建虚拟机2.1.2Kubuntu系统安装2.2搭建Hi3516DV300的开发环境2.2.1工具链安装与开发环境配置2.2.2展开SDK2.3U-Boot的编译2.4Kernel的编译2.5根

    2022年9月24日
    2
  • Java键盘输入一个int数组[通俗易懂]

    Java键盘输入一个int数组[通俗易懂]在线编程,往往第一步思路好了,结果输入不熟练输入半天,也真是醉了!一下列出来两个样例输入和输出:【样例一】packagetest1;importjava.util.Arrays;importjava.util.Scanner;//所有的输入和输出练习publicclassMain{publicstaticvoidmain(String[]args){

    2022年6月26日
    114
  • Zotero+zotfile+坚果云+PDF Expert超好用的多设备协同文献管理组合(保姆级别)

    Zotero+zotfile+坚果云+PDF Expert超好用的多设备协同文献管理组合(保姆级别)一 Zetero 的下载和安装点击左侧的 Download 即可下载安装时可以选择两个模式 standard 按照最通常的设置安装 没有办法改变安装位置 默认 C 盘 和 custom 可以改变安装位置 我选择了 custom 之后就选择好安装位置之后正常安装就可以二 下载常用插件 1 ZoteroConnec 可以在浏览器中收集论文到 zetero 中 点击 InstallEdgeC 即可以下载下载完成后会有一个 xpi 文件 选中后按空格即可以安装这个

    2025年11月18日
    3
  • 中国2000年以来,发行的货币总量

    中国2000年以来,发行的货币总量年份货币总量(单位:万亿元)GDP增长率200013.2498.5%200115.2898.3%200218.3259.1%200321.92310%200425.32

    2022年8月5日
    6
  • 合成控制法(SyntheticControlMethod)及Stata实现[通俗易懂]

    合成控制法(SyntheticControlMethod)及Stata实现[通俗易懂]原文链接:https://www.lianxh.cn/news/9e1bb97a57041.html目录1.背景介绍 2.合成控制法原理 3.合成控制法的Stata实现 3.1命令安装 3.2语法格式 3.3加州控烟案例 3.4房产税对产业转移的影响:来自重庆和上海的经验证据 4.安慰剂检验 4.1安慰剂检验一 4.2安慰剂检验二 5.参考资料推文介绍合成控制方法及其Stata的实现命令。合成控制方法(Syntheti

    2022年6月10日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号