簡單的方法掌握JS中slice,splice和split的使用方法

weixin_33866037發表於2017-10-15

tips:接下去會在github寫部落格,簡書不再更新和修改文章,歡迎大家逛逛我的新部落格點選檢視 ,我會盡量用更容易理解的方式寫好每一篇部落格,大家一起學習交流?。

首先,js的api的命名一般都有它的意義所在,通過英文就能大概理解是幹啥用的。(可見英語多重要。。。)
現在看看slice,splice和split分別是啥意思

  • slice:片
  • splice: 剪接
  • split: 分割

slice:片

可以理解成是提取某東西的片段

用法1:array.slice(start,end) -> 提取陣列的片段

簡單可以理解成start是提取片段的開頭位置(0開始算),end是提取的末尾位置(1開始算)
看例子領會一下

//如果不傳入引數二,那麼將從引數一的索引位置開始擷取,一直到陣列尾
var a=[1,2,3,4,5,6];
var b=a.slice(0,3);  //[1,2,3]
var c=a.slice(3);    //[4,5,6]
 
//如果兩個引數中的任何一個是負數,array.length會和它們相加,試圖讓它們成為非負數,舉例說明:
//當只傳入一個引數,且是負數時,length會與引數相加,然後再擷取
var a=[1,2,3,4,5,6];
var b=a.slice(-1);  //[6]
 
//當只傳入一個引數,是負數時,並且引數的絕對值大於陣列length時,會擷取整個陣列
var a=[1,2,3,4,5,6];
var b=a.slice(-6);  //[1,2,3,4,5,6]
var c=a.slice(-8);  //[1,2,3,4,5,6]
 
//當傳入兩個引數一正一負時,length也會先於負數相加後,再擷取
var a=[1,2,3,4,5,6];
var b=a.slice(2,-3);  //[3]
 
//當傳入一個引數,大於length時,將返回一個空陣列
var a=[1,2,3,4,5,6];
var b=a.slice(6);  //[]

用法2:string.slice(start,end) -> 提取字串的片段
道理同上
例子:

var a="i am a boy";
var b=a.slice(0,6);  //"i am a"

splice: 剪接

可以理解成一個東西剪掉一部分並接上新的部分【 大俗話:如果引數只有兩個(一個是開始位置,一個是刪除的個數),那就是把這段<p掉>,[1,2,3,4,5] -> [1,5] ;如果引數有三個,第三個引數就是<p上>去的內容,[1,2,3,4,5] -> [1,6,6,6,5] 】

用法:array.splice(start,deleteCount,item...)

可以理解成array剪掉初始位置為start,個數為deleteCount的部分,該部分賦值給新的變數,如果有item,則接入被剪掉的部分

例子:

var a=['a','b','c'];
var b=a.splice(1,1,'e','f');  //a=['a','e','f','c'],b=['b']

split: 分割

用法:string.split(separator,limit)

可以理解成把一個東西從第一位置開始根據separator分割成limit個片段來建立一個字串陣列

例子:

var a="0,1,2,3,4,5,6";
var b=a.split("",3); // ["0", ",", "1"]

var a="0,1,2,3,4,5,6";
var b=a.split(",",3);  // ["0", "1", "2"]

ps: join的作用恰好與split相反,是新增組裝作用

var arr = ["0", "1", "2"];
var b = arr.join("");// "012" 

相關文章