zoukankan      html  css  js  c++  java
  • 复杂数据类型(数组)

    今天主要整理了数组的基础知识,数组在js中用到的地方很多,所以初学者的同鞋们一定要掌握,多看资料。而且大的案例中经常用到遍历数组
    数组
    1、数组是复杂的数据类型(对象类型)
    2、存储多个值会用到数组
    3、复杂类型数据都是用new来创建的
    4、 未赋值的项是undefined
     
    定义数组
     
    1、字面量定义
          a) var array=[]  //定义空数组
                    array[0]="爱国"
           b) var array=[1,2,3]
           c) var arrs=[3] 一个数字表示数组长度是1,值是3
    2、对象创建定义数组
        a) var arr1=new Array() //空数组
                   arr[2]="宝贝"  //空数组赋值
         b)var arr2=new Array( "关于","刘备","曹操")
         c)  var arr3=new Array(3) // 一个数字表示数组的长度, 都是未定义的空元素
       

    数组元素

    1、arr.length数组元素长度
    2、arr[0] 通过索引值获取元素 /赋值
    3、数组最开始的长度是0,每增加一个,arr.length自增(可以做索引)
    4、数组的长度可以作为数组中最后一个新添加元素的索引值
     
    数组的遍历
    数组和for循环一起使用绝配
     var arr=["","","","","",""];
        //遍历数组就是循环(获取)数组每一个值
        for(var i=0; i<arr.length; i++){
            //i代表数组的每一个元素
            console.log(arr[i]);
        }//

    遍历数组案例

     //把1-10之间所以的奇数,放到数组中
        //数组长度本身最开始是0,当每添加一个元素,数组自增1
        //变量j可以用arr.length代替,因为初始化值是0,
        var arr=[];
       // var j=0
        for(var i=1; i<=10; i++){
            if(i%2!==0){
                arr[arr.length]=i;
               // j++;
            }
        }
        console.log(arr);
       //1-10之间能被3整除的数字,存到数组中
        var arr=[];
        for(var i=1; i<=10; i++){
            if(i%3===0){
                arr[arr.length]=i;
            }
        }
        console.log(arr)
    //求一组数组所有数和的平均值
        var arr=[10,20,30];
        //计数器思想
        var sum=0;
        for(var i=0; i<arr.length; i++){
            sum+=arr[i];
        }
        console.log(sum);
        var avg=sum/arr.length;
        console.log(avg);
     //求数组中最大值
      var arr=[-10,-20,-30];
        //比较的数使用数组里面的,(最好是第一个或是最后一个,)
        var max=arr[0];//max=arr.length-1
        for( var i=1;i<arr.length; i++ ){ //可以少比较一次 让i=1
            if(arr[i]>max){
                //遍历数字,判断数组中每一项,如果比max大,赋值给max,
                max=arr[i];
            }
        }
        console.log(max);
     // 求一组数中的最大值和最小值,以及所在位置
        var arr=[10,-20,30,40];
        //定义最大值和最小值变量 还有他们的索引值变量
        var maxValue=arr[0];
        var minValue=arr[0];
        var maxIndex=0;
        var minIndex=0;
        //求最大值
        for(var i=1; i<arr.length; i++){
            if(arr[i]>maxValue){
                //把这个元素赋值给最大值,把对应的索引值付给minIndex
                maxValue=arr[i];
                maxIndex=i;
                //求最小值
            }else if(arr[i]< minValue){
                //把这个元素赋值给最大值,把对应的索引值付给minIndex
                minValue=arr[i];
                minIndex=i;
            }
        }
        console.log(maxValue);
        console.log(maxIndex);
        console.log(minValue);
        console.log(minIndex);
    //将字符串数组用|,或其他符合分割
        var arr=["吕超","赵云","典韦","关羽","马超","张飞"];
        //为了避免第一个名字前面|,把第一个名字从数组中拿出来,保存到变量sum里
        var sum=arr[0];
        var aa="|";
        for( var i=1; i<arr.length; i++){
            sum+=aa+arr[i];
        }
        console.log(sum)
      //翻转数组
    //思路:实现方法:1、定义一个新数组,把老数组中的元素从后往前添加到新数组中。
        var arr=["刘备","关羽","张飞","诸葛亮","马超","黄忠","姜维"];
            console.log(arr);
        var newArr=[];
    
        //复杂版
        for(var i=0; i<arr.length; i++){
            //用新数组的长度作为索引值。给定数组的最大索引值,然后减去i 因为i自增
            newArr[newArr.length]=arr[arr.length-1-i];
        }
        console.log(newArr);
    
        //简单版
        for(var j=arr.length-1; j>=0; j--){
            newArr[newArr.length]=arr[j];
        }
        console.log(newArr);
    //思路:实现方法;2、操作原数组,让原数组第一位和最后一位调换位置,以此类推。
        for( var i=0; i<arr.length/2; i++){
            //var temp=arr[i];
            arr[i]=arr[arr.length-1-i];
            //arr[ arr.length-1-i]=temp;
        }
        console.log(arr)
  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number (考虑负数的情况)
    8. String to Integer (整数的溢出)
    7. Reverse Integer (整数的溢出)
    LeetCode Minimum Size Subarray Sum
    LeetCode Course Schedule II
    Linux 文件缓存 (一)
    LeetCode Tries Prefix Tree
    Linux : lsof 命令
    LeetCode Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/wdz1/p/7230349.html
Copyright © 2011-2022 走看看