javascript array是一種用來(lái)存儲(chǔ)多個(gè)值的數(shù)據(jù)結(jié)構(gòu),它可以用來(lái)表示列表、表格、矩陣等。javascript array有以下特點(diǎn):
- javascript array是動(dòng)態(tài)的,可以隨時(shí)增加或刪除元素,不需要指定固定的大小。
- javascript array可以存儲(chǔ)任意類型的值,包括數(shù)字、字符串、布爾值、對(duì)象、函數(shù)等。
- javascript array的索引從0開(kāi)始,可以用方括號(hào)[]或者點(diǎn)操作符.來(lái)訪問(wèn)元素。
- javascript array有很多內(nèi)置的方法,可以用來(lái)對(duì)數(shù)組進(jìn)行排序、篩選、遍歷、合并等操作。
下面我們來(lái)看一些javascript array的基本用法:
- 創(chuàng)建數(shù)組:可以用new Array()或者[]來(lái)創(chuàng)建一個(gè)空數(shù)組,也可以在[]中直接寫入元素,例如
var arr1 = new Array(); // 創(chuàng)建一個(gè)空數(shù)組
var arr2 = []; // 創(chuàng)建一個(gè)空數(shù)組
var arr3 = [1, 2, 3]; // 創(chuàng)建一個(gè)包含三個(gè)數(shù)字的數(shù)組
var arr4 = ["a", "b", "c"]; // 創(chuàng)建一個(gè)包含三個(gè)字符串的數(shù)組
var arr5 = [true, false, null]; // 創(chuàng)建一個(gè)包含三個(gè)不同類型的值的數(shù)組
- 訪問(wèn)和修改元素:可以用索引來(lái)訪問(wèn)和修改數(shù)組中的元素,索引從0開(kāi)始,最大為數(shù)組長(zhǎng)度減一,例如:
var arr = [1, 2, 3];
console.log(arr[0]); // 輸出1
console.log(arr[1]); // 輸出2
console.log(arr[2]); // 輸出3
console.log(arr[3]); // 輸出undefined,因?yàn)樗饕隽藬?shù)組范圍
arr[0] = 10; // 修改第一個(gè)元素為10
arr[1] = 20; // 修改第二個(gè)元素為20
arr[2] = 30; // 修改第三個(gè)元素為30
console.log(arr); // 輸出[10, 20, 30]
- 添加和刪除元素:可以用push()和pop()方法來(lái)在數(shù)組末尾添加和刪除元素,也可以用unshift()和shift()方法來(lái)在數(shù)組開(kāi)頭添加和刪除元素,例如:
var arr = [1, 2, 3];
arr.push(4); // 在數(shù)組末尾添加一個(gè)元素4
console.log(arr); // 輸出[1, 2, 3, 4]
arr.pop(); // 在數(shù)組末尾刪除一個(gè)元素,并返回它
console.log(arr); // 輸出[1, 2, 3]
arr.unshift(0); // 在數(shù)組開(kāi)頭添加一個(gè)元素0
console.log(arr); // 輸出[0, 1, 2, 3]
arr.shift(); // 在數(shù)組開(kāi)頭刪除一個(gè)元素,并返回它
console.log(arr); // 輸出[1, 2, 3]
- 遍歷數(shù)組:可以用for循環(huán)或者forEach()方法來(lái)遍歷數(shù)組中的每個(gè)元素,例如:
var arr = [1, 2, 3];
// 使用for循環(huán)遍歷數(shù)組
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]); // 輸出每個(gè)元素的值
}
// 使用forEach()方法遍歷數(shù)組
arr.forEach(function (item) {
console.log(item); // 輸出每個(gè)元素的值
});
- 排序和反轉(zhuǎn)數(shù)組:可以用sort()和reverse()方法來(lái)對(duì)數(shù)組進(jìn)行排序和反轉(zhuǎn),例如:
var arr = [3, 1, 4, 2];
arr.sort(); // 對(duì)數(shù)組進(jìn)行升序排序,默認(rèn)按照字符串比較
console.log(arr); // 輸出[1, 2, 3, 4]
arr.reverse(); // 對(duì)數(shù)組進(jìn)行反轉(zhuǎn),即倒序排列
console.log(arr); // 輸出[4, 3, 2, 1]
- 連接和切割數(shù)組:可以用concat()和slice()方法來(lái)連接和切割數(shù)組,例如:
var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
var arr3 = arr1.concat(arr2); // 連接兩個(gè)數(shù)組,返回一個(gè)新的數(shù)組
console.log(arr3); // 輸出[1, 2, 3, 4, 5, 6]
var arr4 = arr3.slice(1, 4); // 切割數(shù)組,從索引1開(kāi)始,到索引4結(jié)束(不包含),返回一個(gè)新的數(shù)組
console.log(arr4); // 輸出[2, 3, 4]
- 篩選和映射數(shù)組:可以用filter()和map()方法來(lái)篩選和映射數(shù)組,例如:
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.filter(function (item) {
return item % 2 == 0; // 篩選出偶數(shù)元素,返回一個(gè)新的數(shù)組
});
console.log(arr2); // 輸出[2, 4]
var arr3 = arr.map(function (item) {
return item * 10; // 對(duì)每個(gè)元素乘以10,返回一個(gè)新的數(shù)組
});
console.log(arr3); // 輸出[10, 20, 30, 40, 50]
- 歸約和累加數(shù)組:可以用reduce()和reduceRight()方法來(lái)歸約和累加數(shù)組,例如:
var arr = [1, 2, 3, 4, 5];
var sum = arr.reduce(function (prev, curr) {
return prev + curr; // 對(duì)每?jī)蓚€(gè)元素求和,返回一個(gè)最終的值
});
console.log(sum); // 輸出15
var product = arr.reduceRight(function (prev, curr) {
return prev * curr; // 對(duì)每?jī)蓚€(gè)元素求積,從右往左,返回一個(gè)最終的值
});
console.log(product); // 輸出120
以上就是javascript array的一些基本用法,希望對(duì)你有所幫助。