JavaScript的数组

Posted HzdWwZz"LJF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript的数组相关的知识,希望对你有一定的参考价值。

数组的概念

所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。

数组的创建:

1.通过构造函数创建数组

语法:

    var 数组名=new Array();
    var array=new Array();//定义了一个数组
    数组的名字如果直接输出,那么直接就可以把数组中的数据显示出来,如果没有数据,就看不到数据。
    
    var 数组名=new Array(长度);
    如果数组中没有数据,但是有长度---,数组中的每个值就是undefined

    构造函数的方式创建数组的时候,如果在Array(一个数字)--->数组的长度(数组元素的个数)

    如果在Array(多个值);这个数组中就有数据了,数组的长度就是这些数据的个数

2.通过字面量的方式创建数组

    // 创建一个空数组
    var arr1 = []; 
    // 创建一个包含3个数值的数组,多个数组项以逗号隔开
    var arr2 = [1, 3, 4]; 
    // 创建一个包含2个字符串的数组
    var arr3 = [‘a‘, ‘c‘]; 
    
    // 可以通过数组的length属性获取数组的长度
    console.log(arr3.length);
    // 可以设置length属性改变数组中元素的个数
    arr3.length = 0;

比如:

    <script>
    var arr=new Array(1,50,33,66,44,88);
    var arr2=[55,66,88,99,77];
    console.log(arr);
    console.log(arr2);
    </script>

数组元素的获取:

    // 格式:数组名[下标]   下标又称索引
    // 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined。
    var arr = [‘red‘, ‘green‘, ‘blue‘];
    arr[0]; // red
    arr[2]; // blue
    arr[3]; // 这个数组的最大下标为2,因此返回undefined

数组的几个问题:

1.数组中存储的数据类型一定是一样的吗?

类型可以不一样

    <script>
    var arr=[1,2,3,"hello",null,undefined,new Object(),true];
    console.log(arr);//(8) [1, 2, 3, "hello", null, undefined, {…}, true]
    </script>

2.数组的长度是不是可以改变呢?

可以

    <script>
    var arr=[];
    arr[1]=50;
    console.log(arr.length);//2
    console.log(arr[0]);//undefined
    console.log(arr[1]);//50
    </script>

数组的遍历:

遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。

数组遍历的基本语法:

    for(var i = 0; i < arr.length; i++) {
        // 数组遍历的固定结构
    }

数组中新增元素

数组的赋值

    // 格式:数组名[下标/索引] = 值;
    // 如果下标有对应的值,会把原来的值覆盖,如果下标不存在,会给数组新增一个元素。
    var arr = ["red", "green", "blue"];
    // 把red替换成了yellow
    arr[0] = "yellow";
    // 给数组新增加了一个pink的值
    arr[3] = "pink";

数组的基本操作

冒泡排序:

  <script>

    //冒泡排序:把所有的数据按照一定的顺序进行排列(从小到大,从大到下)

    var arr = [10, 0, 100, 20, 60, 30];
    //循环控制比较的轮数
    for (var i = 0; i < arr.length - 1; i++) {
      //控制每一轮的比较的次数
      for (var j = 0; j < arr.length - 1 - i; j++) {
        if (arr[j] < arr[j + 1]) {
          var temp = arr[j];
          arr[j] = arr[j + 1];
          arr[j + 1] = temp;
        }
      }
    }
    console.log(arr);
  </script>

数组的反转

    var array = [10, 20, 30, 40, 50];
    
    for (var i = 0; i < array.length / 2; i++) {
    
    var temp = array[i];
    array[i] = array[array.length - 1 - i];
    array[array.length - 1 - i] = temp;
    }
    console.log(array);

以上是关于JavaScript的数组的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript单行代码,也就是代码片段

JavaScript 片段

JavaScript 代码片段

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

几个关于js数组方法reduce的经典片段