JS陣列操作(陣列增加、刪除、翻轉、轉字串、取索引、擷取(切片)slice、剪接splice、數組合並)
阿新 • • 發佈:2018-12-23
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"]