序號 方法 舉例 是否改變當前數組 1 instanceof 判斷變數是否是數組對象 否 2 join 將數組的元素組起一個字元串 join(separator) //將數組的元素組起一個字元串,以separator為分隔符,省略的話則用預設用逗號為分隔符 arr1 = [1,2,3,4,5]; r ...
序號 | 方法 | 舉例 | 是否改變當前數組 |
1 | instanceof 判斷變數是否是數組對象 |
console.log(arr instanceofArray);//true
|
否 |
2 | join 將數組的元素組起一個字元串 | join(separator) //將數組的元素組起一個字元串,以separator為分隔符,省略的話則用預設用逗號為分隔符 arr1 = [1,2,3,4,5]; result = arr1.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5" | 否 |
3 | push 往數組的最後添加一項 | //push:將參數添加到原數組末尾,並返回數組的長度 arr1 = [1,2,3,4,5]; result = arr1.push(6,7); //a:[1,2,3,4,5,6,7] b:7 console.log(result) | 是 |
4 | pop 彈出數組的最後一項 | //pop:刪除原數組最後一項,並返回刪除元素的值;如果數組為空則返回undefined arr1= [1,2,3,4,5]; result = arr1.pop(); //a:[1,2,3,4] b:5 console.log(result) // 5 | 是 |
5 | reverse 翻轉數組 | // reverse:將數組反序 arr1 = [1,2,3,4,5,8,34]; result = arr1.reverse(); //[34,8,5,4,3,2,1] console.log(result) ; | 是 |
6 | sort 排序 -- 模擬sort的內部實現 |
sort(); //即使是數組sort也是根據字元,從小到大排序 帶參數的sort是如何實現的?
按字母的首字母ASCII碼排序,小的在前,sort沒有降序排列功能,arr.reverse();//排完序再反轉,變成降序
arr.sort(function(x,y){return y-x;} );//數字降序
arr.sort(function(x,y){return x-y;} );//數字升序
//按每項長度來排列 // arr.sort(function(a,b){ // // return a.length-b.length; // // })//從小到大 // // console.log(arr); |
是 |
7 | slice 從當前數組中截取一個新的數組,不會影響原來的數組 | slice(start,end):參數start從0開始,end從1開始 返回從原數組中指定開始下標到結束下標之間的項組成的新數組,但不包括結束位置的項 arr1 = [1,2,3,4,5]; result = arr1.slice(2,5); //[3,4,5] result = arr1.slice(2); //[3,4,5] 在只有一個參數的情況下,slice()方法返回從該參數指定位置開始到當前數組末尾的所有項; | 否 |
8 | splice 刪除或替換當前數組的某些項目,影響原數組 返回的是刪除的內容 |
splice()//刪除或替換當前數組的某些項目,
splice(start,deleteCount,val1,val2,...):
// 從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,...
//在第一項前插入 var arr=[1,2,3,4]
arr.splice(1,0,5); //替換arr1 = [1,2,3,4,5]; result = arr1.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4] //刪除第一項result = arr1.splice(0,1); //同shift arr1.splice(0,0,-2,-1); result = arr1.length; //同unshift result = arr1.splice(arr1.length-1,1); //同pop //添加arr1.splice(arr1.length,0,6,7); |
是 |
9 | indexOf()、lastIndexOf() 獲取數組中某項的位置,如果不存在,返回-1 | lastIndexOf()//從後開始檢索 第二個參數傳負數表示從倒數第幾個開始檢索 indexof(item,startindex)//第一個參數表示需要查找的元素,第二個參數表示開始檢索的位置,不寫第二個參數,表示從0開始檢索 | 否 |
10 | concat() //把參數拼接到當前數組 | arr = arr.concat("xx","yy"); 數組合併concat //concat:返回一個新數組,是將參數添加到原數組中構成的 arr1 = [1,2,3,4,5]; result = arr1.concat(6,7); console.log(result)//[1,2,3,4,5,6,7] //該方法會展開參數中的一維數組 result = arr1.concat(6,7,[8,9,10]); result = arr1.concat(6,7,[8,9,10,[1,2,3]]);//1.2.3不會展開 | 否 |
11 | toString() //把數組轉換成字元串,每一項用,分割 | var str=arr.toString(); | 否 |
12 | valueOf() //返回數組對象本身 | 否 | |
13 | filter 過濾數組 IE8以前不支持 | ||
14 | forEach 遍曆數組 IE8以前不支持 | ||
15 | shift()//取出數組中的第一個元素,修改了原數組的length屬性, | shift:刪除原數組第一項,並返回刪除元素的值;如果數組為空則返回undefined var arr1 = [1,2,3,4,5]; var arr2 = [1,2,3,4,5]; var result = arr1.shift(); //arr1 [2,3,4,5] result:1 console.log(result) | 是 |
16 | unshift() //在數組最前面插入項,返回數組的長度 | //unshift:將參數添加到原數組開頭,並返回數組的長度 arr1 = [1,2,3,4,5]; result = arr1.unshift(-2,-1); //arr1:[-2,-1,1,2,3,4,5] result:7 console.log(result) | 是 |