當前位置:才華齋>設計>網頁設計>

JavaScript陣列常用方法介紹

網頁設計 閱讀(1.08W)

在JavaScript開發過程中,常用的陣列方法有哪些?下面YJBYS小編為你一一介紹!

JavaScript陣列常用方法介紹

  修改陣列

- 刪除陣列最後一位元素

var arr = [1, 2, 3];();// 返回 3arr;// [1,2]

t - 刪除陣列第一位元素。

var arr = [1, 2, 3];t();// 返回 1arr;// [2,3]

- 往陣列的末尾新增一個或多個元素。

var arr = [];(1);// 返回陣列長度 1arr;// [1](2,3);arr;// [1,2,3]

ift - 往陣列的`開頭新增一個或多個元素。

var arr = [1, 2, 3];ift(0);ift(-1, -2);arr;// [-1, -2, 0, 1, 2]

rse - 把陣列元素順序逆轉。

var arr = [1, 2, 3];rse();// [3, 2, 1]arr;// [3, 2, 1]

- 陣列排序。

var arr = [1 ,-1, 2];();// [-1, 1, 2]arr;// [-1, 1, 2]arr = [{age: 10,},{age: 1}, {age: 12}];// 按照 age 從小到大排序(function(a, b){return - > 0 ? 1 : -1;});

ce - 給陣列新增或者刪除元素。

// splice(開始下標, 刪除個數,插入元素(可以多個))var arr = [1, 2, 3, 4];ce(1, 2);// [2,3]arr;// [1,4]arr = [1, 2, 3, 4];ce(1, 2, 'a', 'b', 'c');// [2,3]arr;// [1, "a", "b", "c", 4]

注意:當陣列執行上面的這些方法時,都會修改原陣列。

  迭代方法

ach - 遍歷陣列。

['a' ,'b' ,'c']ach(function(each, index){(each,index);});// 輸出 'a' 0 'b' 1 'c' 2

er - 從陣列中找出所有符合指定條件的元素。

// 找出所有正數var res = [3, 4, -1]er(function(each){return each > 0;});res; //[3,4]

y - 陣列中是否每個元素都滿足指定的條件。

// 是否都為正數var isAllPositive = [3, 4, -1]y(function(each){return each > 0;});isAllPositive; // false;isAllPositive = [3, 4]y(function(each){return each > 0;});isAllPositive; // true;

- 陣列中是否有元素滿足指定的條件。

// 是否有正數var isSomePositive = [3, 4, -1](function(each){return each > 0;});isSomePositive; // true;isSomePositive = [-3, -4]y(function(each){return each > 0;});isSomePositive; // false;

- 將陣列對映成另一個數組。

// 內容 * 2[1, 2, 3](function(each){return each * 2;});// 返回 [2, 4, 6]

ce - 將數組合成一個值。

// 陣列內容求和。0 為初始值[1, 2, 3]ce(function(prev, each){return prev + each;}, 0);// 返回 6

當要使用迭代方法時,forEach 應該是最後被考慮的。主要原因是:forEach 與其他迭代方法比,語義性是最差的。更詳細的說明見 avoid forEach。

網址:

注意 IE8 及以下版本不支援 every, some, map, reduce。如果想在 IE 8 及以下版本用這幾個方法,可以用es5-shim 或 lodash。

  其他方法

ray - 是否是陣列。IE9+ 支援該方法。

ray(3); // ray({}); // ray([]); // true

at - 合併陣列或合併陣列的值。

[1,2,3]at(4,5); // 輸出 [1, 2, 3, 4, 5]

- 合併陣列所有元素拼接成字串

[1,2,3](); // 輸出 '1,2,3'[1,2,3]('@'); // 輸出 '1@2@3'

e - 選擇陣列中的一部分元素。

// slice(開始下標, 結束下標(可選,預設為陣列長度))['a', 'b', 'c', 'd']e(1);// ["b", "c", "d"]['a', 'b', 'c', 'd']e(1, 2);// ["b"]['a', 'b', 'c', 'd']e(1, 3);// ["b", "c"]

xOf - 查詢陣列中指定元素的下標。

['a', 'b', 'c', 'd']xOf('c'); // 2['a', 'b', 'c', 'd']xOf('g'); // -1

IndexOf - 查詢陣列中指定元素的下標。查詢方向為從後往前。

['c', 'd', 'c']IndexOf('c'); // 2['a', 'b', 'c', 'd']IndexOf('g'); // -1