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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值