【JavaScript】split(),slice(),splice的区别

417 阅读2分钟

1.split()

把一个字符串分割成字符串数组。

stringObject.split(separator,howmany)
separator: (必须填)。字符串或正则表达式,从该参数指定的地方分割stringObject
howmany:可选。该参数可指定返回的数组的最大长度。
        如果设置了该参数,返回的子串不会多于这个参数指定的数组。
        如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
str.split(separator, limit)
separator:
limit:

2.slice()

以新的数组对象,返回数组中被选中的元素 从start开始,在end结束,但不包括end

  • 用法
str.slice(start, end)
strat: 从该索引(从0开始)处提取源字符串中的字符,如果值是负数,则真正开始的位置是str.length+beginIndex,
end(不包括): 可选,如果省略则从beginIndex开始到字符串结束,如果该参数为负数,则表示结束的位置为 str.length+endIndex
 var fruit = ["banana", "orange", "lemon", "apple", "mango"]
 var myBest = fruit.slice(-3, -1) // 从右数第三个,第一个,
 console.log(myBest) // orange, apple

3.splice()

从数组添加/删除项目,并返回删除的项目

array.splice(index, howmany, item1, ....., itemX)
// 参数及用法
index:必需。整数,指定在什么位置添加/删除项目,使用负值指定从数组末尾开始的位置。
howmany:可选。要删除的项目数。如果设置为 0,则不会删除任何项目。
item1, ..., itemX:可选。要添加到数组中的新项目。
// 不插入删除
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");

Banana,Orange,Lemon,Kiwi,Apple,Mango

// 删除加插入
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");
Banana,Orange,Lemon,Kiwi,Mango

// 插入也可掺入对象
this.basicinfo_cnkey[3].fields[0].fields.splice(1, 0, {
          cn_key: '开始时间',
          en_key: 'c1_time',
          type: 'my-form-datepicker',
          disabled: false
        },
        {
          cn_key: '记忆力',
          en_key: 'c1',
          type: 'my-form-checkbox',
          disabled: false,
          options: [
            {
              label: '111',
              value: '111'
            }
          ]
        })
// 删除
var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
fruits.splice(2,2); 
Banana,Orange

总结

  1. split(),slice()是用来操作字符串的,splice()用来操作数组**

  2. split()不改变原字符串,返回数组,()里面需要添加一个分隔符字符串,**

3.slice()不改变原字符串,返回新的字符串,()括号里面放起始位置**

4.splice()改变元素组,返回修改后的新数组,()括号里面放起点,删除个数,添加元素**