JavaScript数组的应用

来源:互联网 发布:动态代理java 编辑:程序博客网 时间:2024/06/11 09:12

   总结的一些注意事项:

    一、在判断前不要转字符 string类型中""就是空 parseInt parseFloat类型中" "引号中加个空格才是空

        // 判断是否为空的时候 直接用字符型的判断 因为数字类型永远没有为空的情况
        // 判断是不是字母 或者是不是负数的时候可以转为数字类型来判断也可以不转
    
    二、不想写重复代码的解决方案:
    1、作为全局变量
    2、实参和形参的传递
 
    三、arguments 存在于所有的函数中
    arguments对象 所有的实际的参数
    length表示arguments这个对象一个属性 表示实际参数的个数  
    alert(arguments.length);
    alert(arguments[0]);
    alert(arguments[arguments.length-1]);
 
    var sum=0;
    for(var i=0;i<arguments.length;i++){
        alert(arguments[i]);
        sum+=arguments[i];
    }
    四、函数的递归调用
        函数自己调用自己

     数组的介绍   

    五、数组(属于内置对象中的一种)
        Array数组是数据的有序列表 作用就是可以存储大量的数据
        学习数组的声明、赋值、遍历、方法及应用
        js语言数组的特点:
            长度可变
            数据类型不固定
        
        1、数组的声明    
            a、利用构造函数声明方法
                var arr = new Array();        //是一个空数组
            b、利用构造函数声明方法
                var arr = new Array(5);        //声明方式容易被人误解 到底是长度是5还是第一个元素的值是5
                var arr = new Array("ddd");    //数组的第一个元素的值是ddd
                console.log(arr);
            c、利用构造函数声明方法(边声明边辅助)
                var arr = new Array(122,123,34,56,234,"asdc");
                var arr = new Array("a","b","c");
            //注意数组的下标,从0开始不能更改
            d、字面量的声明方法    最直观最推荐的声明方法
                var arr = ["2222",true,"fdgaasd","adsc"];    这是赋值了的数组
                var arr = [];        这是一个空数组
        2、数组的赋值
            arr1[0] = "3333";
            arr1[5] = "555";    
            可以赋值为相同数据类型的,也可以赋值不同数据类型的
            可以顺序赋值,也可以了、跳跃赋值
            arr2[0] = "123";
            arr2[1] = true;
            arr2[5] = "abc"
        3、数组的遍历
            //定义5个元素的数组,求这个数组中的和
            写数组就要用到循环
            var arr = [123,123,123,123345,64];
            var sum = 0;
            for(var i=0;i<arr.length;i++){            这里的i是数字
                console.log(arr[i]);
                sum+=arr[i];
            }
            console.log(sum);
            //for ... in ... 相对于for循环来说语法更加简单简洁了     i是下标 这里的i是String型的并不是数字
            var sum=0;
            for (var i in arr){
                console.log(i);
                sum+=arr[i];
            }
            console.log(sum);
            //for ... each .. 最新的浏览器才支持
            var sum = 0;
            arr.forEach(function(v){               要严格注意forEach的语法 大小写以及后面要跟function()
                console.log(v);
                sum+=v;
            })  

            console.log(sum);
    
        4、数组的属性和方法     对象.属性    对象.方法
            属性:length;
            length是可读可写的  
            var arr = new Array[6];
            alert(arr.length);    可读 结果是6  
            arr.length = 10;
            alert(arr.length);    可写 结果是10            
 
 
            Math.random():生成0-1之间的随机小数,包括0不包括1
            onload:页面加载时间:作用是将页面所有的标签读取完之后再去读js代码
            onclick:点击事件
 
            window.onload=function(){        
                f();                
            }
 
            格式 window.onload=function(){}     function 是一个匿名函数    在匿名函数里面再写这个f();函数
            在页面都加载完成之后再调用js中的f()函数
    
        方法
            push(v1,v2...):向数组最后一个位置添加一个元素或者多个元素;        返回值:长度,原数组改变
            pop():删除数组中最后一个元素;                    返回值:删除的那个元素,原数组改变
            
            unshift(v1,v2...):向数组开头一个位置添加一个元素或者多个元素;    返回值:长度,原数组改变
            shift():删除数组中的第一个元素;                    返回值:删除的那个元素,原数组改变
 
            reverse();将数组反序输出;原数组改变,返回值为倒序以后的数组
 
            join():将数组转成字符串,返回值为一个字符串 ||  toString():将数组转成字符串   
                这两个的区别 前面那个转为字符串之后没有逗号 后面那个转完之后有逗号分隔
 
            concat(v1,arr1,arr2,123,"avxc");将一个元素或者多个元素或者数组进行连接,返回值是新的数组
                arr.concat(arr1,12,"haha");
 
            slice(start,end);切割数组,返回值为切割以后的数组 包头不包尾 包括开头的位置不包括结尾的位置(下标)
                start 必须要大于等于0并且小于end
 
            splice(index,howmany,v1):添加或者删除数组中元素
                index:数组的下标        不可以省略
                howmany:值为0的时候,表示的是不删除元素
                    如果为其他数值,表示从index的位置开始删除几个
                    值为0的时候,添加一个v1到下标为index的位置 原来位置上的元素后移
                v1:表示添加的元素可以省略
                    
 
                    以后就这样验证
                    arr.splice(index,howmany,v1)
                    console.log(arr);
            
            indexOf():数组中的元素第一次在数组中出现的位置 找不到时返回值为-1
            
            lastIndexOf():数组中的元素最后一次在数组中出现的位置 找不到时返回值为-1
 
            
 
            sort():排序 并不是按照理想顺序排 
            数组的冒泡排序:
 
            
 
            二维数组
                声明
            
                    var arr = [ [12,24,25,26],[123,123,123],[53,324] ]
                    var sum=0;
                    for (var i=0;i<arr.length;i++){
                        for(var j=0;j<a[i].length;j++){
                            sum+=arr[i][j];
                        }
                    }
                    
                赋值
                遍历
            多维数组

 
0 0
原创粉丝点击