slice()与splice()

slice()与splice()

slice()

1.相关概念

  1. slice()能够基于当前数组中的一或多个项创建一个新数组
  2. slice()可以接收一或两个参数,即要返回项的起始和结束位置
  3. 在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项
  4. 如果有两个参数,该方法返回起始和结束位置之间的项(但不包括结束位置)
  5. slice()方法不会影响原始数组
  6. 如果结束位置小于起始位置,则返回空数组

2.示例

var colors=["red","green","blue","yellow","purple"];
var colors2=colors.slice(1);
var colors3=colors.slice(1,4);

alert(colors2);//green,blue,yellow,purple
alert(colors3);//green,blue,yellow
//如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。此例中,slice(-2,-1)与调用slice(3,4)得到的结果相同

splice()

1.相关概念

  1. splice()的主要用途是向数组的中部插入项
  2. 删除:可以删除任意数量的项,指定两个参数(要删除的第一项位置和要删除的项数)
  3. 插入:可以向指定位置插入任意数量的项,指定3个参数(起始位置、0(要删除的项数)和要插入的项数)
  4. 替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,指定3个参数(起始位置、要删除的项数和要插入的任意数量的项)。插入的项数不必与删除的项数相等
  5. splice()方法返回一个数组,该数组包含从原始数组中删除的项
  6. splice()影响原数组

2.示例

//删除
var colors=["red","green","blue"];
var removed=colors.splice(0,1);//
alert(colors);//green,blue
alert(removed);//red
//插入
removed=colors.splice(1,0,"yellow","orange");
alert(colors);//green,yellow,orange,blue
alert(removed);//返回的是一个空数组
//替换
removed=colors.solice(1,1,"red","purple");
alert(colors);//green,red,purple,orange,blue
alert(removed);//yellow

猜你喜欢

转载自blog.csdn.net/qq_41218152/article/details/81670768