首頁 > web前端 > js教程 > 主體

JavaScript數組的增刪改查功能實現

巴扎黑
發布: 2017-08-22 17:24:40
原創
2006 人瀏覽過

本篇文章主要介紹了JS數組操作之增刪改查的簡單實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

JS提供了很多方便操作數組的方法,本文所要分享的就是如何快速對數組進行增、刪、改、查。

一、增

1、push()

可接收任意數量的參數,把它們逐一加至數組末尾,並返回修改後數組的長度。例如:


var arr = [];
var len = arr.push(1);
console.log(arr); // [1]
console.log(len); // 1
len = arr.push(2,3);
console.log(arr); // [1,2,3]
console.log(len); // 3
登入後複製

2、unshift()

此方法與push()類似,也可接收任意數量的參數,只不過是將參數逐一加入數組前端而已,同樣地返回新數組長度。咱們接著上面的例子:


var len = arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
console.log(len); // 4
len = arr.unshift(-2,-1);
console.log(arr);  // [-2, -1, 0, 1, 2, 3]
console.log(len);  // 6
登入後複製

#3、concat()

該方法與push()方法有點類似,同樣是將元素加入數組末尾,只不過這個數組已經不是原來的數組了,而是其副本,所以concat()操作數組後會傳回一個新的數組。具體用法如下:

① 不傳參數,傳回目前數組副本

#② 傳遞一或多個數組,則該方法會將這些數組中的每一項都添加到結果陣列中

③ 傳遞非陣列參數,這些參數就會被直接加到結果陣列的末端

繼續接著上面的栗子:



##
var arr1 = arr.concat(4,[5,6]);
console.log(arr);  // [-2, -1, 0, 1, 2, 3]
console.log(arr1);  // [-2, -1, 0, 1, 2, 3, 4, 5, 6]
登入後複製

範例中一目了然,原始數組不變,新數組後面增加了4、5、6三個元素。 4、splice()

前面的三個方法都具有很大局限性,因為不是添加到數組前就是數組後,而splice()就不一樣了,它非常靈活和強大。靈活是因為它可以添加元素到數組的任意位置,強大是因為它除了可以添加元素之外還具有刪除和替換元素的功能(這個後面會陸續講到)。 splice()可以在陣列中指定位置新增任意數量的元素,需要傳入至少3個參數: 起始位置、0(要刪除的元素個數)和要新增的元素。

依然接著上面的例子繼續:

arr.splice(3,0,0.2,0.4,0.6,0.8);
console.log(arr); // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 3]
登入後複製

#可以看出,splice()與push()和unshift()一樣是直接在原始數組上修改的。

二、刪

1、pop()


與push()方法配合使用可以構成後進先出的堆疊,此方法可從陣列末端刪除最後一項並傳回該項目。

接著上例:

var item = arr.pop();
console.log(item);  // 3
console.log(arr);  // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
登入後複製


#2、shift()

與push()方法搭配使用可以構成先進先出的佇列,該方法可刪除數組第一項並傳回該項。


繼續接著上例:

var item = arr.shift();
console.log(item); // -2
console.log(arr); // [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
登入後複製

#3、slice()

該方法同concat()同樣是傳回一個新數組,不會影響原數組,只不過slice()是用來裁剪數組的,返回裁剪下來的數組,具體用法如下:

slice()方法可以接受一或兩個參數,即要傳回項目的起始和結束位置。在只有一個參數的情況下,slice()方法會傳回從該參數指定位置開始到目前陣列末端的所有項目。如果有兩個參數,則該方法傳回起始和結束位置之間的項目-但不包括結束位置的項。


咱們還是繼續接著上面例子~~

var arr2 = arr.slice(2,6);
console.log(arr); // [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
console.log(arr2); // [0.2, 0.4, 0.6, 0.8]
登入後複製
4、splice()

好,繼續講這個「萬能」的方法。

上面講到,該方法在添加數組元素的時候需要傳入3個以上參數,而其中第2個參數就是用來指定要刪除元素的個數的,那時我們傳的是數字0。那麼,如果單單只需刪除元素,我們就只需給splice()傳入兩個參數,第1個參數用於指定要刪除的第一項的位置,第2個參數用於指定要刪除元素的個數。

繼續上例~~


arr.splice(2,4);
console.log(arr); // [-1, 0, 1, 2]
登入後複製

從索引項為2的位置開始刪除4個元素,所以結果為[-1, 0, 1 , 2]。 三、改

這個其實最靈活的方式就是直接使用splice()這個強大的方法了,其實透過以上對該方法的了解,我們大致上就能知道使用此方法修改陣列元素的基本原理。

原理很簡單,就是在指定位置插入任意數量的元素,並且同時刪除任意數量的元素。

依然繼續上例~~


arr.splice(2,1,0.5,1,1.5);
console.log(arr);  // [-1, 0, 0.5, 1, 1.5, 2]
登入後複製

####四、查############# ##indexOf()和lastIndexOf()#########這兩個方法都接收兩個參數:要尋找的項目和(可選的)表示尋找起點位置的索引。其中,indexOf()從陣列的開頭(位置0)開始向後查找,lastIndexOf()方法則從陣列的末端開始向前查找。 ######例如:############
var index = arr.indexOf(0);
console.log(index);  // 1
index = arr.indexOf(3,0);
console.log(index);  // -1
登入後複製
###當找不到該元素時,傳回 -1 ,lastIndexOf()方法同理。 ###

以上是JavaScript數組的增刪改查功能實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!