天天看點

第203天:js---Array對象常用方法

1、shift:删除原數組的第一項,傳回删除元素的值;如果數組為空則傳回undefined

1 //shift:删除原數組的第一項,傳回删除元素的值;如果數組為空則傳回undefined
2     var arr = [1, 2, 3, 4, 5];
3     var out = arr.shift();
4     console.log(arr); //[2,3,4,5]
5     console.log(out); //1
6     var arr = [];
7     var out = arr.shift();
8     console.log(arr); //[]
9     console.log(out); //undefined      

2、unshift:将參數添加到原數組開頭,傳回數組的長度(ie6下傳回undefined)

1 //unshift:将參數添加到原數組開頭,傳回數組的長度(ie6下傳回undefined)
2     var arr = [1, 2];
3     var out = arr.unshift(-1, 0);
4     console.log(arr); //[-1,0,1,2]
5     console.log(out); //4      

3、pop:删除原數組的最後一項,傳回數組删除的值;如果數組為空則傳回undefined

1 //pop:删除原數組的最後一項,傳回數組删除的值;如果數組為空則傳回undefined
2     var arr = [1, 2, 3, 4, 5];
3     var out = arr.pop();
4     console.log(arr); //[1,2,3,4]
5     console.log(out); //5
6     var arr = [];
7     var out = arr.pop();
8     console.log(arr); //[]
9     console.log(out); //undefined      

4、push:将參數添加到原數組的末尾,傳回數組的長度

1 //push:将參數添加到原數組的末尾,傳回數組的長度
2     var arr = [1, 2, 3];
3     var out = arr.push(4, 5, 6);
4     console.log(arr); //[1,2,3,4,5,6]
5     console.log(out); //6      

5、concat:傳回一個将參數添加到原數組中構成的新數組

1 //concat:傳回一個将參數添加到原數組中構成的新數組
2     var arr = [1, 2, 3];
3     var out = arr.concat(4, 5);
4     console.log(arr); //[1,2,3]
5     console.log(out); //[1,2,3,4,5]      

6、splice(start,deleteCount,val1,val2,...):從start位置開始删除原數組deleteCount項,并從該位置起插入val1,val2,...,傳回删除的項組成的新數組

1 //splice(start,deleteCount,val1,val2,...):從start位置開始删除原數組deleteCount項,并從該位置起插入val1,val2,...,傳回删除的項組成的新數組
 2     var arr = [1, 2, 3, 4, 5];
 3     var out = arr.splice(2, 2, 7, 8, 9, 10);
 4     console.log(arr); //[1,2,7,8,9,10,5]
 5     console.log(out); //[3,4]
 6     //在清空數組時僅需傳遞start,如果不删除所有元素,再傳遞deleteCount
 7     var arr = [1, 2, 3, 4, 5];
 8     var out = arr.splice(2);
 9     console.log(arr); //[1,2]
10     console.log(out); //[3,4,5]
11     //同shift
12     var arr = [1, 2, 3, 4, 5];
13     var out = arr.splice(0, 1);
14     console.log(arr); //[2,3,4,5]
15     console.log(out); //[1]
16     //同unshift
17     var arr = [1, 2, 3, 4, 5];
18     var out = arr.splice(0, 0, 22, -1, 0);
19     console.log(arr); //[22,-1,0,1,2,3,4,5]
20     console.log(out); //[]
21     //同pop
22     var arr = [1, 2, 3, 4, 5];
23     var out = arr.splice(arr.length - 1, 1);
24     console.log(arr); //[1,2,3,4]
25     console.log(out); //[5]
26     //同push
27     var arr = [1, 2, 3, 4, 5];
28     var out = arr.splice(arr.length, 0, 6, 7, 8);
29     console.log(arr); //[1,2,3,4,5,6,7,8]
30     console.log(out); //[]      

7、reverse:将原數組倒序

1 //reverse:将原數組倒序
 2     var arr = ['a', 1, {}, [2, 3]];
 3     console.log(arr); //['a', 1, {}, [2, 3]]
 4     var out = arr.reverse();
 5     console.log(arr); //[[2,3],{},1,'a']
 6     console.log(out); //[[2,3],{},1,'a']
 7     var arr = [0, 1, 5, 10, 15];
 8     arr.reverse();
 9     console.log(arr); //[15,10,5,1,0]
10     var arr = [1, 0, 5, 15, 10];
11     arr.reverse();
12     console.log(arr); //[10,15,5,0,1]      

8、sort(orderfunction):sort()為升序排列

1 //sort(orderfunction):sort()為升序排列,但是先調用每個數組項的toString()方法,然後比較字元串來排序,是按ASCII進行比較的;
 2     //是以跟reverse不同原理不同。sort()不帶參數的時候是從字面上對數組排序
 3     var arr = [0, 1, 5, 10, 15];
 4     arr.sort();
 5     console.log(arr); //0,1,10,15,5 ,注意這裡是字元串按ASCII進行比較的
 6     //調用這樣的函數就按數值方式排列了
 7     function sortNumber(a, b) {
 8         return a - b
 9     }
10     arr.sort(sortNumber);
11     console.log(arr);   //0,1,5,10,15      

9、slice(start,end):傳回從原數組中指定start到end(不包含該元素)之間的項組成的新數組

1 //slice(start,end):傳回從原數組中指定start到end(不包含該元素)之間的項組成的新數組,如隻有一個參數,則從start到數組末尾
2     var arr = [1, 2, 3, 4, 5, 6, 7, 8];
3     var out = arr.slice(2,3);
4     console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8]
5     console.log(out); //[3]      

10、join(separator):将數組的元素組成一個字元串

1 //join(separator):将數組的元素組成一個字元串,以separator為分隔符,省略的話則用預設用逗号為分隔符
2     var arr = [1, 2, 3, 4, 5, 6];
3     var out = arr.join();
4     console.log(arr); //[1, 2, 3, 4, 5, 6]
5     console.log(out); //1,2,3,4,5,6
6     out = arr.join("");
7     console.log(out); //123456
8     out = arr.join("&");
9     console.log(out); //1&2&3&4&5&6      

繼續閱讀