java script 的第五天

1 数组(Array)

1.1 概念

// 数组就是一组数据的集合,每个数据被称之为元素,可以存放任意类型的元素。、

2 创建数组

// JS中存在两种数组的创建方式

// 2.1 利用new创建数组

var arr = new Array(); // 创建了一个空数组

// 2.2 利用数组字面量创建数组(常用)

var arr = [];

var arr1 = [1, 2, 3, '小飞', true];

// 数字里面的数据 用 逗号 分隔开

// 每个数据被称之为元素

3 获取数组元素

3.1 数组的索引

// 用来访问数组元素的序号(数字下标从0开始)

3.2 获取方式

// 数组名[索引号]

<script>
var arr1 = [1, 2, 3, '小飞', true];
        console.log(arr1[3]); // 小飞
</script>

4 遍历数组

// 遍历 把数组中的每一个元素从头到尾都访问一次

<script>
 var arr3 = ['red', 'blue', 'green', ];
        for (var i = 0; i < 3; i++) { // 数字下标从0开始
            console.log(arr3[i]);

        }
</script>

// 因为数组的索引号从o开始,所有i从0,且i<3

5 数组长度

<script>
 var arr4 = ['关羽', '刘备', '张飞', '赵云', '黄忠', '马超', '姜维']
        for (var i = 0; i < 7; i++) { 
            console.log(arr4[i]);
        }
</script>

  // 使用 数组名.length 可以访问数组长度

<script>
    var arr4 = ['关羽', '刘备', '张飞', '赵云', '黄忠', '马超', '姜维']
        for (var i = 0; i < arr4.length; i++) {
            console.log(arr4[i]);
        }
        console.log(arr4.length);
</script>

  // 数组的长度是元素的个数,不要和索引混淆

  // arr.length 是动态监测数组元素的个数

 6 案例

        //  1 要求;求数组[2,6,1,7,4]里面所有元素的和以及平均值

<script>
 var sum = 0;
        var arr5 = [2, 6, 1, 7, 4]
        var average = 0;
        for (var i = 0; i < arr5.length; i++) { // 遍历数组,把每个元素加到sum里面
            sum += arr5[i]; // 我们加的数数组元素 arr【i】,并不是计数器 i

        }
        average = sum / arr5.length;

        console.log(sum, average); // 想要输出多个变量
</script>

 // 2 求数组[2,6,1,77,53,25,7]里面的最大值

<script>
 arr6 = [2, 6, 77, 53, 25, 7];
        var max = arr6[2]; // 默认一个最大值,和其他元素比较        
        for (var i = 0; i < arr6.length; i++) {
            if (arr6[i] > max) { // 进行比较条件
                max = arr6[i];
                // 应用 求最小值  arr6[i] < min

            }
        }
        console.log('该数组里面的最大值是:' + max + '');

<script>

 7 数组转换为分割字符串

        // 案例 将数组 ['red','green','blue','pink']转换位字符串

        // 输出结果为 'red|green|blue|pink' 用其他符号进行分割

<script>
  var arr7 = ['red', 'green', 'blue', 'pink'];
        var str = '';
        // 或者声明 一个 var sep = '*';
        for (var i = 0; i < arr7.length; i++) {
            str += arr7[i] + '*'; // + sep 即可
        }
        console.log(str);
</script>

 8 数组中新增元素

        // 8.1 可以修改length长度来实现数组扩容

<script>
  var arr8 = ['red', 'pink', 'blue'];
        console.log(arr8.length);
        arr8.length = 5; // 把数组的长度修改为 5
        console.log(arr8.length);
</script>

      //8.2 可以通过索引来追加扩容

<script>
  var arr9 = ['red', 'pink', 'blue'];
        arr9[3] = 'green';
        console.log(arr9);

        arr9[0] = 'yellow'; // 如果索引被占用,会进行替换
        console.log(arr9);

        arr9 = '哎呦,不错呦!' // 不要直接给数组名赋值,否则数据全部丢失
        console.log(arr9);
</script>

    // 8.3 案例

        // 要求:新建一个数组,里面存放10个整数

<script>
  var arr = [];
        for (var i = 0; i < 10; i++) {
            arr[i] = i + 1; // 核心算法
        }
        console.log(arr);
</script>

9 筛选数组

        // 方法一

        // 要求: 将数组[2,0,6,1,77,0,52,0,25,7]中大于10的数组筛选出来

<script>
var arr1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var arr2 = [];
        var j = 0;
        for (var i = 0; i < arr1.length; i++) { // 遍历数组1 ,找出大于10的数
            if (arr1[i] > 10) {
                // 新数组 索引号 应该从0开始依次递增
                arr2[j] = arr1[i];
                j++;
            }
        }
        console.log(arr2);

        // 方法二
        var arr1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var arr2 = [];
        // 由于刚开始的时候,arr2 是空数组,arr2.length就是0
        for (var i = 0; i < arr1.length; i++) { // 遍历数组1 ,找出大于10的数
            if (arr1[i] > 10) {
                // 新数组 索引号 应该从0开始依次递增
                arr2[arr2.length] = arr1[i];
                // arr2 是空数组,arr2.length就是0
            }
        }
        console.log(arr2);
</script>

10  删除数组

// 1 将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 里面的0 删掉,形成一个新数组

<script>
 
        arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        newarr = [];
        for (var i = 0; i < arr.length; i++) { // 遍历原来的数组
            if (arr[i] != 0) {
                newarr[newarr.length] = arr[i];
            }
        }
        console.log(newarr);
</script>

11 翻转数组

// 将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 内容反过来

<script>
  
        arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        newarr = [];
        // 把旧数组索引号第四个取来(arr.length -1)给新数组 索引号第0个元素
        for (var i = arr.length - 1; i >= 0; i--) {
            newarr[newarr.length] = arr[i];
        }
        console.log(newarr);

        // 第二种函数方法
        arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        newarr = arr.reverse();
        console.log(newarr);
</script>

12 数组排序(冒泡排序)

// 交换两个变量的值

<script>
  
        var num1 = 10;
        var num2 = 20;
        var temp;
        temp = num1;
        num1 = num2;
        num2 = temp;
        console.log(num1, num2);
</script>

// 冒泡排序是一种算法,把一系列数据按照一定顺序进行排列

​

<script>
 
        var arr = [5, 4, 3, 2, 1];
        for (var i = 0; i <= arr.length - 1; i++) { // 外层循环 管趟数,走4趟
            for (var j = 0; j <= arr.length - i - 1; j++) {
                // 里层循环管每趟的交换次数

                // 内部交换两个变量的值,前面一个和后面一个相比较
                if (arr[j] > arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);
</script>

[点击并拖拽以移动]
​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值