JS中特殊的對象-數(shù)組

前言

之前學(xué)習(xí)的數(shù)據(jù)類型,只能存儲一個值(比如:Number/String)。我想在一個變量中存儲多個值,應(yīng)該如何存儲?

所謂數(shù)組,就是將多個元素(通常是同一類型)按一定順序排列放到一個集合中,那么這個集合我們就稱之為數(shù)組。

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

// 字面量方式創(chuàng)建數(shù)組
var arr1 = []; //空數(shù)組

// 創(chuàng)建一個包含3個數(shù)值的數(shù)組,多個數(shù)組項(xiàng)以逗號隔開
var arr2 = [1, 3, 4]; 

// 創(chuàng)建一個包含2個字符串的數(shù)組
var arr3 = ['a', 'c']; 
console.log(arr1);
console.log(arr2);

// 構(gòu)造函數(shù)方式創(chuàng)建數(shù)組
var a1 = new Array(); //空數(shù)組
var a2 = new Array('1',2,'h'); //包含三個元素的數(shù)組
console.log(a1);
console.log(a2);

// 可以通過數(shù)組的length屬性獲取數(shù)組的長度
console.log(arr3.length);
// 可以設(shè)置length屬性改變數(shù)組中元素的個數(shù)
arr3.length = 0;

console.log(arr3[0]);//undefined

思考:二維數(shù)組什么樣?

特別注意:JS中不像PHP,沒有關(guān)聯(lián)數(shù)組.

1.2 獲取數(shù)組元素

// 格式:數(shù)組名[下標(biāo)]   下標(biāo)又稱索引
// 下標(biāo)從0開始
// 功能:獲取數(shù)組對應(yīng)下標(biāo)的那個值,如果下標(biāo)不存在,則返回undefined。
var arr = ['red',, 'green', 'blue'];
arr[0]; // red
arr[2]; // blue
arr[3]; // 這個數(shù)組的最大下標(biāo)為2,因此返回undefined

1.3 遍歷數(shù)組

遍歷:遍及所有,對數(shù)組的每一個元素都訪問一次就叫遍歷。

for循環(huán)數(shù)組遍歷的基本語法:

for(var i = 0; i < arr.length; i++) {
    // 數(shù)組遍歷的固定結(jié)構(gòu)
}

for循環(huán)示例:

var arr1 = [1, 3, 4]; 

for(var i = 0;i<arr1.length;i++){
    console.log(arr1[i]);
}

whil循環(huán)示例:

var arr1 = [1, 3, 4]; 

var i = 0;
while(i<arr1.length){
    console.log(arr1[i]);
    i++;
}

1.4 為數(shù)組添加元素

// 格式:數(shù)組名[下標(biāo)/索引] = 值;
// 如果下標(biāo)有對應(yīng)的值,會把原來的值覆蓋,如果下標(biāo)不存在,會給數(shù)組新增一個元素。
var arr = ["red", "green", "blue"];
// 把red替換成了yellow
arr[0] = "yellow";
// 給數(shù)組新增加了一個pink的值
arr[3] = "pink";

1.5 數(shù)組操作案例

案例1:求數(shù)組中的所有數(shù)的和

//求和
var arr = [10, 20, 30, 40, 50];
//定義變量存儲和
var sum = 0;
for (var i = 0; i < arr.length; i++) {
    sum += arr[i];
}
console.log("和為:" + sum);

案例2:獲取數(shù)組中的最大值

//最大值
var arr = [10, 20, 30, 40, 50, 60];

//假設(shè)這個變量中的值是最大的
var maxNum = arr[0];
//遍歷數(shù)組
for (var i = 0; i < arr.length; i++) {
    //判斷
    if (maxNum < arr[i]) {
        maxNum = arr[i];
    }
}
console.log("最大值是:" + maxNum);

案例3: 遍歷出數(shù)組中所有的偶數(shù)

// 遍歷出數(shù)組中所有的偶數(shù)
var arr = [1,2,3,4,5,6,7];
for(var i=0;i<arr.length;i++){
    //判斷
    if(arr[i]%2==0){
        console.log(arr[i]);
    }
}

案例4:將數(shù)組轉(zhuǎn)為字符串并以 | 分割

//把數(shù)組中的每個名字后面拼接一個|然后以字符串的方式輸出
var names = ["卡卡西", "佐助", "鳳姐", "鳴人", "黑山老妖"];
var str = "";//空的字符串,用來存儲最后的拼接的結(jié)果的字符串
//不停的遍歷數(shù)組的數(shù)據(jù),并且拼接字符串
for (var i = 0; i < names.length - 1; i++) {
    str += names[i] + "|";//拼接字符串的方式
}
str += names[names.length - 1];
console.log(str);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容