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:從數組中添加、删除元素,改變原有數組,傳回被删除的元素
删除元素
<script>
var arr = ['a','b','c','d'];
var delete = arr.splice(1,2) //從下标1開始,删除兩個元素
console.log(arr); //a,d
console.log(delete) // b,c
</script>
添加元素
<script>
var arr = ['a','b','c','d'];
var delete = arr.splice(1,0,'e','f'); //0-表示沒有删除元素
console.log(arr); // a,e,f,b,c,d
console.log(delete); //''-即傳回空的數組,因為沒有删除元素
</script>
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