1. 程式人生 > >JS陣列操作(陣列增加、刪除、翻轉、轉字串、取索引、擷取(切片)slice、剪接splice、數組合並)

JS陣列操作(陣列增加、刪除、翻轉、轉字串、取索引、擷取(切片)slice、剪接splice、數組合並)

POP 刪除最後一項

刪除最後一項,並返回刪除元素的值;如果陣列為空則返回undefine

var a = [1,2,3,4,5];
a.pop();//a:[1, 2, 3, 4]
a.pop();//a:[1, 2, 3]
a.pop();//a:[1, 2] 

shift 刪除第一項

刪除原陣列第一項,並返回刪除元素的值;如果陣列為空則返回undefine

var a = [1,2,3,4,5]; 
a.shift(); //a:[2,3,4,5]
a.shift(); //a:[3, 4, 5] 

push 增加到最後

並返回新陣列長度;

var a = [1,2,3,4,5]; 
a.push(6);//[1, 2, 3, 4, 5, 6]
aa.push('xx');//[1, 2, 3, 4, 5, 6, "xx"] 返回長度7
a.push('yy');//[1, 2, 3, 4, 5, 6, "xx", "yy"] 返回長度8 

unshift增加到最前

並返回新陣列長度;

var a = [1,2,3,4,5]; 
a.unshift();//[1, 2, 3, 4, 5]
a.unshift("cc");//["cc", 1, 2, 3, 4, 5] 返回長度6
a.unshift("aaa");//["aaa", "cc", 1, 2, 3, 4, 5] 返回長度7 

reverse 陣列翻轉

並返回翻轉後的原陣列,原陣列翻轉了

var a = [1,2,3,4,5]; 
a.reverse()//a:[5, 4, 3, 2, 1] 返回[5, 4, 3, 2, 1] 

join陣列轉成字串


並返回字串,原陣列木變

var a = [1,2,3,4,5]; 
var b=a.join('||');//b:"1||2||3||4||5" a:[1,2,3,4,5] 

indexOf陣列元素索引

並返回元素索引,不存在返回-1,索引從0開始

var a = ['a','b','c','d','e']; 
a.indexOf('a');//0
a.indexOf(a);//-1
a.indexOf('f');//-1
a.indexOf('e');//4

slice擷取(切片)陣列 得到擷取的陣列

返回從原陣列中指定開始索引(包含)到結束索引(不包含)之間的項組成的新陣列,原陣列木變 ,索引從0開始

var a = ['a','b','c','d','e']; 
a.slice(1,3);//["b", "c"] a:['a','b','c','d','e']
a.slice(0,4);//["a", "b", "c", "d"]
a.slice(3,4);//["d"]

splice剪接陣列 原陣列變化 可以實現shift前刪除,pop後刪除,unshift前增加,同push後增加一樣的效果

返回剪接的元素陣列,原陣列變化 ,索引從0開始

/*引數是2個*/
//第一引數是索引(從0開始),第二是長度
var a = ['a','b','c','d','e']; 
a.splice(0,2);//["a", "b"] a:["c", "d", "e"]
a.splice(0,2);//["c", "d"] a:["e"]
var a = ['a','b','c','d','e']; 
a.splice(0,1);//["a"] a:["b", "c", "d", "e"] 同shift前刪除
var a = ['a','b','c','d','e']
a.splice(a.length-1,1)l//["e"] a:["a", "b", "c", "d"] 同pop前刪除
/*引數大於2個*/
//splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,... 
var a = ['a','b','c','d','e']; 
a.splice(3,1,10,21,238,99);//["d"] a:["a", "b", "c", 10, 21, 238, 99, "e"]
var a = ['a','b','c','d','e']; 
a.splice(a.length,100000000,88)//返回 [] 從最後元素後面的元素,擷取長度任意個,肯定是空 a:["a", "b", "c", "d", "e", 88] 同push後增加
var a = ['a','b','c','d','e']; 
a.splice(a.length,0,88)//返回 [] 從最後元素後面的元素,擷取長度任意個,肯定是空 a:["a", "b", "c", "d", "e", 88] 同push後增加
var a = ['a','b','c','d','e'];
a.splice(0,0,88,99)//返回 [] 從第一個元素,擷取長度0個 肯定是空 a:[88, 99, "a", "b", "c", "d", 

concat數組合並

返回合併後的新陣列,原陣列木變

var a = ['a','b','c','d','e']; 
a.concat([88,99]);//["a", "b", "c", "d", "e", 88, 99] a:["a", "b", "c", "d", "e"]
var b= [9999,10000]
a.concat(b);// ["a", "b", "c", "d", "e", 9999, 10000] a:["a", "b", "c", "d", "e"]