JS 數組

第5章 JS中特殊的對象-數組

之前學習的數據類型,只能存儲一個值(比如:Number/String)。我們想在一個變量中存儲多個值,應該如何存儲?

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

5.1 數組的創建


// 1.字面量方式創建數組
var arr1 = []; //空數組
// 創建一個包含3個數值的數組,多個數組項以逗號隔開
var arr2 = [1, 3, 4]; 
// 創建一個包含2個字符串的數組
var arr3 = ['a', 'c']; 
console.log(arr1);
console.log(arr2);
console.log(arr3[1]);  //獲取數組某個位置的值

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

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

注 : 無論是構造函數方式還是字面量的方式定義的數組 , 如果數組有長度 , 那麼數組中的每個值默認就是 undefined

數組元素 : 數組中存儲的每個數據,都可以叫做數組的元素 , 比如有3個元素 , 就說這個數組的長度是3

數組索引(下標) : 用來存儲或者訪問數組中的數據的 , 數組的長度減1就是數組的索引

5.2 獲取數組元素


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

5.3 遍歷數組

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

for 循環數組遍歷的基本語法:


for(var i = 0; i < arr.length; i++) {
    // 數組遍歷的固定結構
}

for循環示例:


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

whil循環示例:


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

5.4 爲數組添加元素


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

5.5 數組操作案例

案例1:求數組中的所有數的和


//求和
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:獲取數組中的最大值


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

案例3: 遍歷出數組中所有的偶數


// 遍歷出數組中所有的偶數
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:將數組轉爲字符串並以 | 分割


    //把數組中的每個值後面拼接一個|然後以字符串的方式輸出 
    var arr = ["你好", "厲害的", "程序員", "hello", "world"];
    var str = "";   //空的字符串,用來存儲最後的拼接的結果的字符串 
    //不停的遍歷數組的數據,並且拼接字符串
    for (var i = 0; i < arr.length - 1; i++) {
        str += arr[i] + "|";   //拼接字符串的方式 
    }
    str += arr[arr.length - 1];
    console.log(str);

5.6 僞數組 ----- 理解


//案例1:打印數組的長度和值
 function f1() {
        console.log(arguments.length);
        console.log(arguments);
    }
 f1(1,5,3,6,5,8,52,3);


//案例2:求數組的和
function f1() {
        //此時將arguments作爲一個數組使用 -----即僞數組
        var sum = 0;
        for (var i = 0; i < arguments.length; i++) {
            sum += arguments[i];
        }
        return sum;
    }
//求該數組的和
var sum = f1(1, 5, 3, 6, 5, 8, 52, 3);
console.log(sum);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章