js——數組操作

來源:互聯網
上載者:User

標籤:map   api   push   字串   tin   return   串連符   插入   反轉   

把教程裡的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——數組操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.