1. 程式人生 > >js——數組操作

js——數組操作

統一處理 需求 war tin fine font -s 是否 條件

把教程裏的api看了一遍,感覺記住了,又感覺沒有記住。。。後來發現,如果給自己提需求,或許不錯。想想對於一個數組,可能會用到哪些操作呢?基本的操作就是增刪改查吧(有點像sql)

1. 創建數組

空數組:var arr = []

包含undefined元素[undefined x 3]

- var arr = []; arr.length = 3;

- var arr = [1,2,3]; delete arr[i];//delete每個元素後

- var arr = new Array(3);//不推薦使用,3表示長度

- var arr = new Array[3];//錯誤!

- var arr = Array.apply(null, {length: 3});

正常元素[1,2,3]

- var arr = [1,2,3];

- var arr = new Array(1,2,3);

- var arr = new Object([1,2,3]);

- var arr = Array.apply(null, [1,2,3]);

2. 增

對數組的修改,修改的操作直接就體現在原數組上

var arr = [1,2,3];

- 從前面添加[4,5,1,2,3]

var len = arr.unshift(4, 5);//可以插入多個,可以插入一個新數組作為元素,返回新數組長度

var delArr = arr.splice(0, 0, 4, 5);//splice(訪問的位置,刪除的元素個數,添加的元素),返回[被刪除的元素]數組

- 從中間添加[1,4,5,2,3]

var delArr = arr.splice(1, 0, 4, 5);

- 從後面添加[1,2,3,4,5]

var len = arr.push(4,5);//返回新數組長度

arr2 = [4,5]; var newArr = arr.concat(arr2);//不對原來的數組做修改

3. 刪

var arr = [1,2,3];

- 刪除第一個[2,3]

var num = arr.shift();//返回刪除的第一個元素

var delArr = arr.splice(0, 1);//splice不給插入的元素

- 從中間刪除[1,3]

var delArr = arr.splice(1, 1);

- 刪除並返回最後一個[1,2]

var num = arr.pop();//返回刪除的最後一個元素

var delArr = arr.splice(arr.length - 1, 1);

4. 改

var arr = [3,2,1];

- 反轉reverse

var newArr = arr.reverse();//newArr = arr = [1,2,3]

- 排序sort

var newArr = arr.sort();//newArr = arr = [1,2,3]

5. 查

var arr = [1,2,1];

- indexOf 元素第一次出現的位置

var index = arr.indexOf(1);//0

- lastIndexOf 元素最後一次出現的位置

var index = arr.lastIndexOf(1);//2

6. 轉換成字符串

var arr = [1,2,3];

- var str = arr.toString();//"1,2,3"

- var str = arr.join("*");//"1*2*3" 用連接符連接元素成字符串

7. 不用循環對各元素做統一處理

var arr = [1,2,3];

- every():判斷arr中每個元素是否都滿足條件,不對空數組進行檢測,不改變原數組

var flag = arr.every(function(num){

return num > 0;

});//true

- some():判斷arr中是否有元素滿足條件

var flag = arr.some(function(num){

return num < 0;

});//false

- forEach():對每元素執行一次回調函數

arr.forEach(function(item, index){

alert(index + ": " + item);

});//輸出 0: 1 1: 2 2: 3

- map():通過指定函數處理數組的每個元素,並返回處理後的數組

var arr = [1,2,3];

var newArr = arr.map(function(item){

return item - 1;

});//newArr = [0,1,2]

- fill():用一個數填充數組各位

var newArr = arr.fill(1);//newArr = arr = [1,1,1]

js——數組操作