javascript数组(4)

数组

      数组是一组数据的集合,数组中的每个数据被称为元素,数组可以存放任意类型的元素,是存放在单个变量下的优雅方式.

如何创建数组

  • 使用new关键字创建数组
  • 使用字面量的方式创建数组
  • 数组中的每个元素之间用逗号相隔

使用new关键字创建数组

<script>
    var arr = new Array();
    console.log(array);
</script>

在这里插入图片描述

使用自定义的方式创建数组

var 数组名 = [ ];

<script>
    let arr = [5, 10, 15, 20, '尧子陌', true];
    console.log(arr);
</script>

在这里插入图片描述

数组的使用方法

获取数组元素

通过索引(下标)的方式可以获取修改元素,注意:索引是从0开始的。

语法

数组名[索引]

案例:打印数组中的每个元素


    <script>
        var arr = ["星期一", '星期二', '星期三', '星期四', "星期五", "星期六", '星期日'];
        console.log(arr[0]);
        console.log(arr[1]);
        console.log(arr[2]);
        console.log(arr[4]);
        console.log(arr[5]);
        console.log(arr[6]);
    </script>

在这里插入图片描述

遍历数组

遍历数组:简单而言,就是把数组的每一项元素从头到尾遍历一遍,用for循环遍历,初始化变量当索引使用。

案例:遍历以下数组

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

在这里插入图片描述

获取数组的长度

语法

数组名.length

注意:数组的索引和长度没有任何的关系

获取下列数组的长度


<script>
    let arr = [5, 10, 15, 20, '尧子陌', true];
    console.log(arr.length);
</script>

在这里插入图片描述

数组案例

数组案例求平均值

  • 声明一个求和的变量与求平均数的变量
  • 使用for循环遍历数组中的每一项与求和的变量相加
  • 使用总和除以数组的个数即可求出平均数
<script>
    var arr = [50, 50, 60, 800, 8520, 4569];
    //声明求和的变量及求平均数的变量
    var sum = 0;
    var average = 0;

    //遍历数组
    for (let i = 0; i < arr.length; i++) {
        sum += arr[i]
    }
    console.log(sum);
    var average = sum / arr.length;
    console.log(average);
</script>

在这里插入图片描述

数组案例求最大值

思路如下

  • 先声明一组数组
  • 声明一个变量max
  • 默认的arr[0]赋值给max
  • 遍历数组,把数组的每一项与max相比较,若数组元素大于max,则将数组元素赋值给max
  • 程序内部处理,得出结果

<script>
    var arr = [5, 10, 15, 500, 520, 800];
    var max = arr[0];
    for (var i = 0; i < arr.length; i++) {
        if (max < arr[i]) {
            max = arr[i]
        }
    }
    console.log(max);
</script>o

在这里插入图片描述

数组案例之把数组分隔成字符串

  • 1.声明一个比变量str来存储字符串
  • 2.遍历数组,将数组的每一项与字符串想拼接
  • 3.程序内部处理,得出结果(别忘记加转义符)
<script>
    var strArr = ['yellow', 'red', 'hello', 'like'];
    var str = '' //声明一个变量str来储存拼接好的字符串
    var step = ','; //声明一个转义符的变量

    // 开始遍历数组
    for (var i = 0; i < strArr.length; i++) {
        str += strArr[i] + step;
    }
    console.log(str);
</script>

在这里插入图片描述

新增数组元素的方法

通过length属性来新增元素

不要直接给数组名赋值,否则会失去数组的 全部数据,empty是空元素的意思


 <script>
        var arr = [50, 50, 60, "hello", "word", '惊鸿'];
        console.log('原始数组的长度' + arr.length) //获取数组的长度
        console.log(arr)
        arr.length = 20;
        console.log('新增数组的长度' + arr.length) //获取数组的长度
        console.log(arr)
    </script>

在这里插入图片描述

通过索引来新增数组元素

  <script>
        var arr = [50, 50, 60, "hello", "word", '惊鸿'];
        arr[6] = "尧子陌"
        arr[7] = "临风笑却世间"
        console.log(arr);
        console.log('新增数组元素的数组长度:' + arr.length)
    </script>

在这里插入图片描述

数组案例之存放1~10的整数

  • 声明一个空数组
  • 循环里面的i可以当数组元素存入
  • i是从0开始的,因此存入的数组元素要i+1
<script>
    var arr = [];
    for (var i = 0; i < 10; i++) {
        arr[i] = i + 1
    };
    console.log(arr);
</script>

在这里插入图片描述

筛选数组

两种方式

  • 通过新增变量的方式实现筛选数组
  • 通过length属性实现筛选数组

通过新增变量的方式实现筛选数组

要求:把下列不等于0的数据筛选出来


    <script>
        var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var newArr = []; //声明一个空数组
        var j = 0; //声明一个变量来实现新数组的自增
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] != 0) {
                newArr[j] = arr[i]
                j++
            }

        }
        console.log('实现筛选数组后的新数组:',newArr) 
    </script>

在这里插入图片描述

通过length属性来实现筛选数组

       通过length属性比较方便,新数组的lenth属性为0,但通过旧数组符合判断条件的数组元素存入后,便可以得出结果.

<script>
    var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
    var newArr = []; //声明一个空数组

    for (var i = 0; i < arr.length; i++) {
        if (arr[i] != 0) {
            newArr[newArr.length] = arr[i]

        }

    }
    console.log('实现筛选数组后的新数组:', newArr)
</script>

在这里插入图片描述

反转数组

思路如下

  • 1.先声明一个新数组
  • 2.旧数组采用arr.length-1 新数组采用newArr.lenth
  • 3.采用i–的方式

    <script>
        var arr = ['red', 'green', 'pink', 'purple'];
        var newArr = [] //声明一个新数组

        for (var i = arr.length - 1; i >= 0; i--) {
            newArr[newArr.length] = arr[i]
        }
        console.log('反转之后的新数组:', newArr)
    </script>

在这里插入图片描述

算法

观察执行过程,得出规律,写出可用的代码

冒泡排序

冒泡排序是一种算法,把一系列数据按照一定的顺序排列(从小到大或从大到小)

在这里插入图片描述

算法之排列数组元素

从小到大的顺序进行排列

  <script>
    /* 
     * 将下列数组的数组元素按从小到大的顺序排列
     */
    var arr = [5, 8, 3, 7, 1];
    for (var i = 0; i <= arr.length - 1; i++) { //外层负责趟数
        for (var j = 0; j <= arr.length - i - 1; j++) { //内层负责每次交换的次数
            if (arr[j] > arr[j + 1]) {
                var temp;
                temp = arr[j]
                arr[j] = arr[j + 1]
                arr[j + 1] = temp
            }
        }
    }
    console.log(arr)
</script>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45419127/article/details/111657385
今日推荐