溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript中的數(shù)組是什么意思

發(fā)布時間:2021-07-22 09:38:15 來源:億速云 閱讀:167 作者:chen 欄目:web開發(fā)

本篇內(nèi)容主要講解“Javascript中的數(shù)組是什么意思”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Javascript中的數(shù)組是什么意思”吧!

在Javascript中,數(shù)組是指有序數(shù)據(jù)的集合,數(shù)組中的每個成員被稱為元素,每個元素的名稱(鍵)被稱為數(shù)組下標(Index);數(shù)組的長度是彈性的、可讀寫的。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript 數(shù)組(Array)是有序數(shù)據(jù)的集合,數(shù)組中的每個成員被稱為元素(Element),每個元素的名稱(鍵)被稱為數(shù)組下標(Index)。數(shù)組的長度是彈性的、可讀寫的。

Array 數(shù)組對象是 JS 的內(nèi)置對象,它可以用一個變量來存儲一系列相同或不同類型的值,其中存儲的每個值稱為數(shù)組元素。

JS數(shù)組的創(chuàng)建

使用 Array 對象存儲數(shù)據(jù)之前必須先創(chuàng)建 Array 對象。創(chuàng)建 Array 對象有多種方式,下面列出兩種常用方式。

  • 方式一:var 數(shù)組對象名 = [元素1,元素2,…,元素n];

  • 方式二:var 數(shù)組對象名 = new Array(元素1,元素2,…,元素n);

方式一是一種較簡潔的數(shù)組創(chuàng)建方法,而方式二則是一種較正式的數(shù)組創(chuàng)建方法。這兩種創(chuàng)建方式都返回新創(chuàng)建并被初始化了的數(shù)組對象,它們都使用參數(shù)指定的值初始化數(shù)組,元素個數(shù)(也叫數(shù)組長度)為參數(shù)的個數(shù)。這兩種方式效果在一般情況下是一樣的,但由于方式一更簡潔,因此在實際應用中最常用。

數(shù)組創(chuàng)建示例:

var hobbies1 = ["旅游","運動","音樂"];
var hobbies2 = new Array("旅游","運動","音樂");

上面示例代碼創(chuàng)建了兩個包含 3 個元素的數(shù)組對象,它們是完全等效的,但第一行代碼更簡潔。

需要注意的是:上述兩種創(chuàng)建數(shù)組的方式,一般情況下是完全等效的,除了只有一個數(shù)值類型參數(shù)的情況。因為此時,使用第一種創(chuàng)建方式時,表示創(chuàng)建的是一個只包含一個元素的數(shù)組,該元素的值等于數(shù)值參數(shù);使用第二種創(chuàng)建方式,則表示創(chuàng)建了一個長度等于數(shù)值類型參數(shù)的數(shù)組,例如:

var arr = [3]; //創(chuàng)建了一個只有一個元素的數(shù)組,元素值為3
var arr = new Array(3);//創(chuàng)建了一個有3個元素的數(shù)組,3個元素值均為undefined

JS數(shù)組元素的引用

數(shù)組中存儲的每個元素都有一個位置索引(也叫下標),數(shù)組下標從 0  開始,到數(shù)組長度 -1 結束,即第一個元素的下標為 0,最后一個元素的下標為數(shù)組長度 -1。

引用數(shù)組元素時可以通過數(shù)組名和下標來實現(xiàn),引用格式如下:

數(shù)組名[元素下標]

例如:一個包含 3 個元素的名為 arr 的數(shù)組的 3 個元素,可分別通過:arr[0]、arr[1] 和 arr[2] 來引用。

JS數(shù)組的訪問

訪問數(shù)組有兩種方式:

  • 一是直接訪問數(shù)組名,此時將返回數(shù)組中存儲的所有元素值。例如,alert(hobbies1),該語句執(zhí)行后將在警告對話框中輸出上面創(chuàng)建的 hobbies1 數(shù)組中存儲的所有元素值:旅游,運動,音樂;

  • 二是使用數(shù)組加下標訪問,此時將返回數(shù)組下標對應的數(shù)組元素值。例如:alert(hobbies1[1]),該語句執(zhí)行后將在警告對話框中輸出“運動”。

JS遍歷數(shù)組(for in和forEach循環(huán))

JS 遍歷數(shù)組(循環(huán)數(shù)組)的方式有多種,可以使用傳統(tǒng)的 for 循環(huán),也可以使用升級版的 for in 循環(huán),還可以使用 Array 類型的 forEach() 方法;如果希望遍歷對象的鍵名,還可以使用 keys() 方法。

1、使用 for 和 for in遍歷數(shù)組

for 和 for/in 語句都可以迭代數(shù)組。for 語句需要配合 length 屬性和數(shù)組下標來實現(xiàn),執(zhí)行效率沒有 for/in 語句高。另外,for/in 語句會跳過空元素。

對于超長數(shù)組來說,建議使用 for/in 語句進行迭代。

示例1

下面示例使用 for 語句迭代數(shù)組,過濾出所有數(shù)字元素。

var a = [1, 2, ,,,,,,true,,,,,,, "a",,,,,,,,,,,,,,,4,,,,,56,,,,,,"b"];  //定義數(shù)組
var b = [], num = 0;
for (var i = 0; i < a.length; i ++) {  //遍歷數(shù)組
    if (typeof a[i] == "number")  //如果為數(shù)字,則返回該元素的值
        b.push(a[i]);
    num ++;  //計數(shù)器
}
console.log(num);  //返回42,說明循環(huán)了42次
console.log(b);  //返回[1,2,4,56]

示例2

下面代碼使用 for/in 語句迭代示例 1 中的數(shù)組 a。在 for/in 循環(huán)結構中,變量 i 表示數(shù)組的下標,而 a[i] 為可以讀取指定下標的元素值。

var b = [], num = 0;
for (var i in a) {  //遍歷數(shù)組
    if(typeof a[i] == "number")  //如果為數(shù)字,則返回該元素的值
        b.push(a[i]);
    num ++;  //計數(shù)器
}
console.log(num);   //返回7,說明循環(huán)了7次
console.log(b);  //返回[1,2,4,56]

通過計時器可以看到,for/in 語句迭代數(shù)組,僅循環(huán)了 7 次,而 for 語句循環(huán)了 42 次。

2、使用 forEach 遍歷數(shù)組

Array 類型為每個數(shù)組定義了 forEach() 原型方法,使用該方法可以為數(shù)組執(zhí)行迭代操作。具體說明如下:

array.forEach(callbackfn[, thisArg]);

參數(shù)說明如下:

  • array:一個數(shù)組對象。

  • callbackfn:必需參數(shù),最多可以接收三個參數(shù)的函數(shù)。forEach 將為數(shù)組中的每個元素調(diào)用 callbackfn 函數(shù)一次。

  • thisArg:可選參數(shù),callbackfn 函數(shù)中的 this 可引用的對象。如果省略 thisArg,則 this 的值為 undefined。

對于數(shù)組中出現(xiàn)的每個元素,forEach 方法都會調(diào)用 callbackfn 函數(shù)一次,采用升序索引順序,但不會為數(shù)組中空元素調(diào)用回調(diào)函數(shù)。

除了數(shù)組對象之外,forEach 方法還可以用于有 length 屬性且具有已按數(shù)字編制索引的屬性名的任何對象,如關聯(lián)數(shù)組對象、Arguments 等。

回調(diào)函數(shù)語法如下:

funtion callbackfn(value, index, array);

最多可以使用三個參數(shù)來聲明回調(diào)函數(shù)?;卣{(diào)函數(shù)的參數(shù)說明如下。

  • value:數(shù)組元素的值。

  • index:數(shù)組元素的數(shù)字索引。

  • array:包含該元素的數(shù)組對象。

forEach 方法不直接修改原始數(shù)組,但回調(diào)函數(shù)可能會修改它。

示例

下面示例使用 forEach 迭代數(shù)組 a,然后把每個元素的值和下標索引輸出顯示,代碼如下:

function f(value,index,array) {
    console.log("a[" + index + "] = " + value);
}
var a = ['a', 'b', 'c'];
a.forEach(f);

演示結果如下:

Javascript中的數(shù)組是什么意思

到此,相信大家對“Javascript中的數(shù)組是什么意思”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI