首页 > 其他分享 >js slice()函数

js slice()函数

时间:2024-01-13 20:01:09浏览次数:29  
标签:splice slice 函数 元素 js colors green 数组 red

不包括"red",这是因为拆分操作要从位置 1 开始,即从"green"开始。得到的 colors2 数组包含 1 "green"、"blue"、"yellow"和"purple"。colors3 数组是通过调用 slice()并传入 1 和 4 得到的, 即从位置 1 开始复制到位置 3。因此 colors3 包含"green"、"blue"和"yellow"。

或许最强大的数组方法就属 splice()了,使用它的方式可以有很多种。splice()的主要目的是 在数组中间插入元素,但有 3 种不同的方式使用这个方法。

  • 替换。splice()在删除元素的同时可以在指定位置插入新元素,同样要传入 3 个参数:开始位 置、要删除元素的数量和要插入的任意多个元素。要插入的元素数量不一定跟删除的元素数量 一致。比如,splice(2, 1, "red", "green")会在位置 2 删除一个元素,然后从该位置开始 7 向数组中插入"red"和"green"。
  • splice()方法始终返回这样一个数组,它包含从数组中被删除的元素(如果没有删除元素,则返 回空数组)。以下示例展示了上述 3 种使用方式。
  • 删除。需要给 splice()传 2 个参数:要删除的第一个元素的位置和要删除的元素数量。可以从 数组中删除任意多个元素,比如 splice(0, 2)会删除前两个元素。
  • 插入。需要给 splice()传 3 个参数:开始位置、0(要删除的元素数量)和要插入的元素,可 以在数组中指定的位置插入元素。第三个参数之后还可以传第四个、第五个参数,乃至任意多 个要插入的元素。比如,splice(2, 0, "red", "green")会从数组位置 2 开始插入字符串 "red"和"green"。

注意 如果slice()的参数有负值,那么就以数值长度加上这个负值的结果确定位置。比 如,在包含 5 个元素的数组上调用 slice(-2,-1),就相当于调用 slice(3,4)。如果结 束位置小于开始位置,则返回空数组。

let colors = ["red", "green", "blue"];
let removed = colors.splice(0,1); // 删除第一项 alert(colors); // green,blue alert(removed); // red,只有一个元素的数组
 removed = colors.splice(1, 0, "yellow", "orange");
alert(colors);
alert(removed);
// 在位置 1 插入两个元素
// green,yellow,orange,blue // 空数组
 removed = colors.splice(1, 1, "red", "purple"); // 插入两个值,删除一个元素 alert(colors); // green,red,purple,orange,blue alert(removed); // yellow,只有一个元素的数组

这个例子中,colors 数组一开始包含 3 个元素。第一次调用 splice()时,只删除了第一项,colors 中还有"green"和"blue"。第二次调用 slice()时,在位置 1 插入两项,然后 colors 包含"green"、 12 "yellow"、"orange"和"blue"。

这次没删除任何项,因此返回空数组。最后一次调用 splice()时 删除了位置 1 上的一项,同时又插入了"red"和"purple"。最后,colors 数组包含"green"、"red"、 "purple"、"orange"和"blue"。

标签:splice,slice,函数,元素,js,colors,green,数组,red
From: https://blog.51cto.com/u_16255561/9233122

相关文章

  • js 操作方法
    如果数组的元素是数值,或者是其valueOf()方法返回数值的对象(如Date对象),这个比较函数还可以写得更简单,因为这时可以直接用第二个值减去第一个值:functioncompare(value1,value2){returnvalue2-value1;}比较函数就是要返回小于0、0和大于0的数值,因此减法操作完......
  • asp.net mvc4 controller构造函数
    asp.netmvc4controller构造函数ASP.NETMVC4中的Controller类有多种构造函数可供使用。以下是常见的两种构造函数示例:默认构造函数(无参):publicclassMyController:Controller{publicMyController(){}//这里为空的构造函数表示没有任何初始化操作}......
  • 函数返回值
    #获取数据的长度(不使用len)defgetnum(str):#str保存的是列表数据a=0#定义一个变量,保存for循环的次数foriinstr:#列表中有几个数就会循环几次a=a+1#每次循环的次数加1print(f'{str}的数据个数为{a}')#打印出列表数据以及长度str1=[1,2,3,......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理项......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理......
  • 9-函数基础
    '''函数的作用:当有一段功能代码需要重复使用,就定义函数具备某个作用的代码函数的使用:自定义函数:定义方式:def函数名():函数代码调用函数:调用函数才会执行函数内的代码函数名()#函数名其实保存的是函数的地址,加()才会调用函数的参数:当函数内部有不确定的数据值,应该......
  • 10-函数进阶-作用域
    '''定义的名字可以使用的区域在函数外面定义的名字,都属于全局名字在函数里面定义的名字,都属于局部名字局部作用域:全局作用域:python自带名字(函数名和变量名)内置区域函数外面定义的名字:全局区域函数里面定义的变量:局部区域'''a=1#全局变量deff():a=2#局部......
  • 11-函数进阶-参数类型
    deffunc(a,b):print(a,b)func(1,2)#实参的个数和形参的个数必须要保持一致func(1)func(1,2,3)func()位置参数默认参数,在调用函数的过程中,多次调用传入的实参一致,可以将参数定义为默认参数deffunc(a,b=1):#语法要求:如果形参中包含位置参数和默认参数,位置参数要放在最......
  • python回调函数
    回调函数在各种编程函数中都是比较常见的,回调函数的出现主要是为了降低函数之间调用的耦合性,从而实现解耦。简单来说,如果一个函数可以作为被传递就称这个函数为回调函数。比如:func1(func2()),那么func2就是回调函数。此时,只需要知道func2这个函数的功能是什么,在执行func1时调用fu......
  • springboot mybatis postgres 对于json类型的字段转换
    在SpringBoot与MyBatis结合使用时,处理PostgreSQL中的JSON类型字段的转换可以分为以下步骤:自定义TypeHandler:为了在Java实体类与数据库的JSON类型字段之间进行转换,需要创建一个自定义的 TypeHandler。例如,针对JSONObject类型的转换器可以这样实现:importorg.apache.ibatis.type.B......