slice,split,splice的區別與用法

2021-08-08 20:37:06 字數 2194 閱讀 7266

1、slice:擷取陣列,返回擷取到的新陣列,不改變原有陣列

arr.slice(start,end);

start:必需,從原陣列的start位置開始擷取(包括下標為start的元素)。start-為負數,表示從尾部開始擷取。如-1表示最後乙個元素,-2表示倒數第二個元素

end:可選,擷取到的指定位置(不包括下標為end的元素)。沒有指定,則擷取到最後乙個元素。end要大於start,否則擷取不到元素

規則:

a、只傳乙個引數時,且是負數,且絕對值小於length,該負數會和length相加在擷取

var a = [1,2,3,4];

var b = a.slice(-1); //b = [4] a = [1,2,3,4]

b、只傳乙個引數,且是負數,且絕對值大於大於等於length,則擷取整個陣列

var a = [1,2,3,4];

var b = a.slice(-4); //b = [1,2,3,4] a = [1,2,3,4]

c、只傳乙個引數,且是正數,且大於等於length,則返回空陣列

var a = [1,2,3,4];

var b = a.slice(4); //b = a = [1,2,3,4]

d、只傳乙個引數,且是正數,小於length,從該引數的下標擷取一直都陣列尾

var a = [1,2,3,4];

var b = a.slice(1); //b = [2,3,4] a = [1,2,3,4]

e、傳入兩個引數,有負數(不管先後順序,但結果必須保證第乙個引數小於第二個引數才會擷取到數值),負數先和length相加在擷取

var a = [1,2,3,4];

var b = a.slice(1,-1); //b = [2,3] a = [1,2,3,4]

var a = [1,2,3,4];

var b = a.slice(-2,3);

console.log(b) //[3]

var a = [1,2,3,4];

var b = a.slice(-2,-1);

console.log(b) //[3]

var a = [1,2,3,4];

var b = a.slice(-2,-3);

console.log(b) //

2、splice:從陣列中新增、刪除元素,改變原有陣列,返回被刪除的元素

刪除元素

新增元素

3、split()用於把乙個字串切割為字串陣列,返回新的字串陣列,每個變數用」,「分隔,源字串不改變stringobject.split(seperator,howmany)

示例1、按照不同方式分割字串

var str = ''how are?;

console.log(str.split('')); //h,o,w,a,r,e,? ( seperator = '',則把每個字元都分割)

console.log(str.split(' '));//how,are?

console.log(str.split(' ',1));//how

業務用例與系統用例的區別

1 業務用例就是要完成的業務,系統用例是系統要做的事情,兩者的域不同。2 業務建模主要描述了該專案涉及的所有業務,需求模型主要是描述為了滿足業務需求系統要做什麼,因此,需求模型與業務模型相比,它描述的只是業務模型的乙個子集。3 比方說我們設計乙個自動提款機系統,它可以滿足使用者的取款 改密 查詢等需...

malloc 和relloc 函式的區別與用法

malloc malloc 函式有乙個引數,即要分配的記憶體空間的大小 void malloc size t size calloc 函式有兩個引數,分別為元素的數目和每個元素的大小,這兩個引數的乘積就是要分配的記憶體空間的大小 void calloc size t numelements,size...

與 的區別? 與 的區別?

相同點 和 都是表示與的邏輯運算子,其運算結果一致 不同點 邏輯與 當兩邊的表示式都為true的時候,整個運算結果才為true,否則為false。短路與 當第乙個表示式的值為false的時候,則不再計算第二個表示式 注意 還可以做位運算子,當表示式不是boolean型別的時候 例項1 public ...