一、slice(start,end) :
對數(shù)組進行部分截取诅病,并返回一個包含截取內(nèi)容的新數(shù)組哪亿,不改變原來的數(shù)組。start開始贤笆,end結(jié)束锣夹,不包含end。
1苏潜、如果兩個參數(shù)都缺少银萍,
則默認從0開始到數(shù)組的長度,即截取從坐標0開始恤左,到數(shù)組的末尾贴唇。
var a = [1,2,3,4];
var b = a.slice();
console.log(b);
console.log(a);
結(jié)果:
[1,2,3,4]
[1,2,3,4]
2、如果只傳入一個參數(shù)飞袋,則默認從該參數(shù)的坐標開始到數(shù)組的長度
var a = [1,2,3,4];
var b = a.slice(2);
console.log(b);
console.log(a);
結(jié)果:
[3,4]
[1,2,3,4]
3戳气、如果兩個參數(shù)中的任何一個是負數(shù),就用數(shù)組的長度和參數(shù)相加返回一個正數(shù)巧鸭,然后再進行截取
var a = [1,2,3,4];
var b = a.slice(2,-1);
console.log(b);
console.log(a);
結(jié)果:
[3]
[1,2,3,4]
4瓶您、slice字符串
var a = 'hello china';
var b = a.slice(2,9);
console.log(b);
console.log(a);
結(jié)果:
llo chi
hello china
二、splice(index, howmany,item1,.....,itemX):
對原數(shù)組進行增刪改查纲仍,并返回一個含有被刪除的元素的新數(shù)組呀袱,該方法會改變原來的數(shù)組。
index開始坐標郑叠,整數(shù)夜赵,如果不是整數(shù),向下取整乡革。
howmany要刪除的項目數(shù)量寇僧。如果設置為小于等于 0摊腋,則不會刪除項目。如果設置為大于0的非整數(shù)嘁傀,則向下取整兴蒸。
item1,.....,itemX,向數(shù)組添加的新項目。
如果index為負數(shù)细办,就用數(shù)組的長度和參數(shù)相加返回一個正數(shù)橙凳。
1、正常刪除
var a = [1,2,3];
var b = a.splice(0,2);
console.log(b)
console.log(a)
結(jié)果:
[1,2]
[3]
2蟹腾、要刪除的數(shù)量為大于0的非整數(shù)
var a = [1,2,3];
var b = a.splice(0,1.5);
console.log(b)
console.log(a)
結(jié)果:
[1]
[2,3]
3痕惋、要刪除的數(shù)量小于0
var a = [1,2,3];
var b = a.splice(0,-1);
console.log(b)
console.log(a)
結(jié)果:
[]
[1,2,3]
4区宇、起始坐標是非整數(shù)
var a = [1,2,3];
var b = a.splice(1.2,1);
console.log(b)
console.log(a)
結(jié)果:
[2]
[1,3]
5娃殖、起始坐標是負數(shù)
var a = [1,2,3];
var b = a.splice(-1.2,1);
console.log(b)
console.log(a)
結(jié)果:
[3]
[1,2]
6、向數(shù)組添加新項目议谷。
var a = [1,2,3];
var b = a.splice(0,2,'hello','你好',{age:18});
console.log(b)
console.log(a)
結(jié)果:
[1,2]
['hello','你好',{age:18},3]