1.数组

数组就是一组数据的集合,存储在单个变量下的优雅方式。
JS中创建数组有两种方式:

  • 利用new创建数组
  • 利用数组字面量创建数组

    1.利用new创建数组

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

    2.利用数组字面量创建数组

    使用数组字面量方式创建空的数组
    var 数组名=[];
    使用数组字面量方式创建初始值的数组
    var 数组名=[1,2,”小宝”,”大宝”];

    3.数组元素的类型

    数组中可以存放任意类型的数据,例如字符串、数字、布尔值等
    var arr=['小白','大黑',12,true,56];

    4.数组新增元素

    可以通过length长度以及索引号增加数组元素

    1.通过length长度增加数组元素

  • 可以通过修改length长度来实现数组扩容的目的

  • length属性是可读写的

    1. var arr=[1,2,"哈哈",true];
    2. arr.length=5;//把数组的长度修改为5,里面应该有5个元素
    3. console.log(arr);
    4. console.log(arr.length);
    5. console.log(arr[4]);
    6. 输出结果:
    7. (5) [1, 2, "哈哈", true, empty]
    8. 5
    9. undefined

    其中索引号是5的空间没有给值,就是声明变量未给值,默认值为undefined

    2.通过修改数组索引新增数组元素

  • 可以通过修改数组索引的方式追加数组元素

  • 索引号已被使用,则是替换原来的数组元素
  • 不要直接给数组名赋值,否则会覆盖以前的数据
    1. var str=['red','green',123];
    2. str[3]='pink';
    3. console.log(str);
    4. str[0]='violet';
    5. console.log(str);//索引号已被使用,则是替换原来的数组元素
    6. str='哈哈哈';//不要直接给数组名赋值,否则里面的数组元素都会被替换掉
    7. console.log(str);
    8. 输出结果:
    9. (4) ["red", "green", 123, "pink"]
    10. (4) ["violet", "green", 123, "pink"]
    11. 哈哈哈
    案例1:从一个数组中选出大于10的数放到新的数组中
    1. var arr=[2,1,13,25,65,41,18];
    2. var newarr=[];
    3. for(var i=0;i<arr.length;i++){
    4. if(arr[i]>=10){
    5. newarr[newarr.length]=arr[i];
    6. }
    7. }
    8. console.log(newarr);
    9. 输出结果:
    10. Array(5)
    11. 0: 13
    12. 1: 25
    13. 2: 65
    14. 3: 41
    15. 4: 18
    16. length: 5

    3.冒泡排序

    是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)
    重复走访元素,依次比较两个相邻的元素,错误则交换位置。
    算法:就是观察它的执行过程,从而找到其中的规律,并把它转换成代码。
    例如,我们可以将数组[5.4.3.2.1]中的元素按照从大到小的顺序排序,输出1,2,3,4,5
    案例:
    1. var arr1=[4,2,6,3,7,5];
    2. for (var i=0;i<arr1.length;i++){
    3. for (var j=0;j<arr1.length-i;j++){
    4. if (arr1[j]>=arr1[j+1]){
    5. var temp =arr1[j];
    6. arr1[j]=arr1[j+1];
    7. arr1[j+1]=temp;
    8. }
    9. }
    10. }
    11. console.log(arr1);
    12. 输出结果:
    13. (6) [2, 3, 4, 5, 6, 7]
    2021.9.07.18:27