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()两种方法[通俗易懂]

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 如何解决高并发,秒杀问题[通俗易懂]

    如何解决高并发,秒杀问题[通俗易懂]相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你!一、秒杀业务为什么难做?1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万…

  • leetcode-146. LRU 缓存机制(hash+双向链表)

    leetcode-146. LRU 缓存机制(hash+双向链表)运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久

  • php备份数据库类分享

    php备份数据库类分享

    2021年10月13日
  • spss数据分析聚类分析_SPSS聚类分析

    spss数据分析聚类分析_SPSS聚类分析SPSS之聚类分析(图文+数据集)聚类分析简介按照个体(记录)的特征将它们分类,使同一类别内的个体具有尽可能高的同质性,而类别之间则具有尽可能高的异质性。为了得到比较合理的分类,首先要采用适当的指标来定量地描述研究对象之间的联系的紧密程度。假定研究对象均用所谓的“点”来表示。在聚类分析中,一般的规则是将“距离”较小的点归为同一类,将“距离”较大的点归为不…

    2022年10月17日
  • java适合女生学吗_【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!…[通俗易懂]

    java适合女生学吗_【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!…[通俗易懂]女生适合学java吗?女生做IT怎么样首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见。不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们觉得这些岗位对逻辑性的要求很好,而且要具备一定的操作水平,而女生在这方面比较薄弱。实际上,女生从Java的工作,很多时候能做得比男生更好。为什么说女生比男生更能学好java呢?1、女生往往比男生更细心,我…

  • matlab如何做向量内积,matlab2010a的bug:* 向量内积的错误解决方案「建议收藏」

    matlab如何做向量内积,matlab2010a的bug:* 向量内积的错误解决方案「建议收藏」很偶然地发现了一个matlab2010a的一个bug:在某种非常特殊的情况下,matlab2010a的向量内积,即*指令会产生错误的结果。下面陈述具体现象:1.程序源代码(注:运行该程序时需要把den1.mat和kern1.mat这两个matlab数据文件与程序放在同一个文件夹中)clc;clear;load(‘den1.mat’);load(‘kern1.mat’);x=kern;y=d…

发表回复

您的电子邮箱地址不会被公开。

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