面试004-split/slice/splice区别

132 阅读1分钟

split

  • split()是字符串的方法,不是数组的方法。
  • 作用:把字符串以指定分隔符分割成数组
let str = "河北,天津,北京";
str.split(',')  => ['河北','天津','北京']

slice

  • 从数组中截取任意个元素,返回结果为新的数组
  • 不改变原数组
const arr = ['a', 'b', 'c', 'd', 'e', 'f'];
arr.slice(); // 无参数时,截取所有的元素。
arr.slice(2); // 从第二个值开始提取,直到末尾
arr.slice(-2); // 提取最后两个元素 负数会将其与长度相加,-2+6=4
arr.slice(2, 4); // 提取从第二个到第四个之间的元素(不包括第四个元素)
arr.slice(4, 2); // 空

splice

  • 从数组中删除任意个(可以是负的即增加)元素。
  • 返回结果为被删除元素组成的新数组
  • 该方法会改变原数组,会将指定元素从原数组中删除
  • 注意一下第二个参数,是要删除的个数!
语法:
    新数组 = 原数组.splice(起始索引index, 需要删除的个数);
    新数组 = 原数组.splice(起始索引index, 需要删除的个数, 新的元素1, 新的元素2...);
示例:
    var arr1 = ['a', 'b', 'c', 'd', 'e', 'f'];
    arr1.splice(1); //从第index为1的位置开始,删除元素
    arr2.splice(-2); //删除最后两个元素,和slice同样的思想。
    arr3.splice(1, 3); //从第index为1的位置开始删除元素,一共删除三个元素
    // 增加系列
    arr4.splice(1,0,'g','h') //纯增加情况
    //变更的情况就是 先删除再增加,即替换
    arr4.splice(1, 3, 'js', 'vue');//删除+增加 == 更改