數(shù)組通常被描述為“像列表一樣的對象”,是一個包含了多個值的對象。
數(shù)組中的每個數(shù)據(jù)項稱為元素,每個元素在數(shù)組中的位置由索引決定,索引從 0 開始。
如何創(chuàng)建數(shù)組?
數(shù)組由方括號構(gòu)成,其中包含用逗號分隔的元素列表。
創(chuàng)建數(shù)組的方法有很多種,下面是幾種常見的方式:
使用數(shù)組字面量:
let fruits = ['Apple', 'Banana', 'Orange'];
使用 Array
構(gòu)造函數(shù):
let fruits = new Array('Apple', 'Banana', 'Orange');
創(chuàng)建一個空數(shù)組,然后逐個添加元素:
let fruits = []; fruits = 'Apple'; fruits = 'Banana'; fruits = 'Orange';
任何類型的元素都可以存儲在數(shù)組中。
比如,字符串,數(shù)字,對象,另一個變量,甚至另一個數(shù)組。
你也可以混合和匹配項目類型,它們并不都是數(shù)字,字符串等。
比如下面這個例子。
let sequence = [1, 1, 2, 3, 5, 8, 13]; let random = ["Apple", 795, [0, 1, 2]];
訪問數(shù)組
可以使用括號表示法訪問數(shù)組中的元素。
可以輸出某一個數(shù)組元素。
let fruits = ['Apple', 'Banana', 'Orange']; console.log(fruite[0]); //輸出 Apple
可以修改某一個數(shù)組元素。
let fruits = ['Apple', 'Banana', 'Orange']; fruite[0] = 'Grape'; console.log(fruite[0]); //輸出 Grape
要記住,數(shù)組的索引是從 0 開始的,所以第一個元素的訪問,下標(biāo)是 0。
數(shù)組的長度
通過使用 length
屬性獲取數(shù)組的長度,也就是數(shù)組中有多少個元素。
let fruits = ['Apple', 'Banana', 'Orange']; console.log(fruite.length); //輸出 3
length
屬性最常用于循環(huán)。
let fruits = ['Apple', 'Banana', 'Orange']; for (let i = 0; i < fruits.length; i++) { console.log(fruits[i]); }
使用 for
循環(huán),依次輸出數(shù)組里的每一個元素。
操作數(shù)組的方法
數(shù)組提供了很多方法來操作其中的元素,來看一些常用的方法:
push()
和 pop()
push()
方法用于在數(shù)組末尾添加一個或多個元素,pop()
方法用于移除數(shù)組末尾的一個元素。
let fruits = ['Apple', 'Banana']; fruits.push('Orange'); // ['Apple', 'Banana', 'Orange'] let lastFruit = fruits.pop(); // ['Apple', 'Banana'], lastFruit = 'Orange'
shift()
和 unshift()
shift()
方法用于移除數(shù)組開頭的一個元素,unshift()
方法用于在數(shù)組開頭添加一個或多個元素。
let fruits = ['Apple', 'Banana']; let firstFruit = fruits.shift(); // ['Banana'], firstFruit = 'Apple' fruits.unshift('Orange'); // ['Orange', 'Banana']
concat()
concat()
方法用于合并兩個或多個數(shù)組,不會改變現(xiàn)有數(shù)組,而是返回一個新數(shù)組。
let fruits = ['Apple', 'Banana']; let moreFruits = ['Orange', 'Grape']; let allFruits = fruits.concat(moreFruits); // ['Apple', 'Banana', 'Orange', 'Grape']
slice()
slice()
方法用于從數(shù)組中提取一個片段,返回一個新數(shù)組,不會改變原數(shù)組。
let fruits = ['Apple', 'Banana', 'Orange', 'Grape']; let citrus = fruits.slice(1, 3); // ['Banana', 'Orange']
splice()
splice()
方法用于添加或刪除數(shù)組中的元素,會改變原數(shù)組。
let fruits = ['Apple', 'Banana', 'Orange']; fruits.splice(1, 1, 'Grape'); // ['Apple', 'Grape', 'Orange']
forEach()
forEach()
方法用于遍歷數(shù)組中的每個元素。
let fruits = ['Apple', 'Banana', 'Orange']; fruits.forEach(function (fruit) { console.log(fruit); }); // 輸出: // Apple // Banana // Orange
map()
map()
方法用于創(chuàng)建一個新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值。
let numbers = [1, 2, 3, 4]; let doubled = numbers.map(function (number) { return number * 2; }); // [2, 4, 6, 8]
filter()
filter()
方法用于創(chuàng)建一個新數(shù)組,包含所有通過測試的元素。
let numbers = [1, 2, 3, 4]; let evenNumbers = numbers.filter(function (number) { return number % 2 === 0; }); // [2, 4]
reduce()
reduce()
方法用于將數(shù)組中的所有元素計算為一個值。
let numbers = [1, 2, 3, 4]; let sum = numbers.reduce(function (total, number) { return total + number; }, 0); // 10
總結(jié)
該文章在 2024/10/22 12:40:14 編輯過