zoukankan      html  css  js  c++  java
  • js Array 方法总结

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //js Array 方法 
        var array1 = [1,2,3];
        var array2 = [{"name":"f1",age:1},{"name":"f2",age:2}];
        //1. array 复制:直接使用=复制会造成类似java的指针问题,修改原array同时会改变新array 
            a0 = array1.concat();//concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
            a0[0] = 8 ;
            alert(array1[0]);//结果 1 正确 。 但是如果将array1 换成array2,则结果就不对了(和=类型,由于引用的关系造成);
            //如何深度复制数组,使用jquery 方法
            a1 = $.extend(true,[],array2);// (extend用法较多:$.extend(src)扩展全局, $.fn.extend(src)扩展实例变量)
            a1[0].name="fdf";
            alert(array2[0].name);//结果: f1 。
        //2. map 数据数据筛选组合 
        var a2 = array2.map(function(value,index,array){
            //return value;//此处可对数组加工
            return {"name":value.name,"age":value.age}; //可以变相的复制一个数组
        });
        alert(a2[0].name); 
        //3. filter 数组元素筛选 
        a3 = array2.filter(function(value,index,array){
            if(value.name=='f1') return true; //只保留对象name 值为f1 的数组元素
            return false;
        });
        //4. forEach 数组循环
         array2.forEach(function(value,index,array){});//ie可能不支持,且无法使用break ,continue ..使用return代替
        //5. reduce 对上一个数组元素和当前 数组元素 进行操作 。用处:如数组统计 
        var a5 = array1.reduce(function(pre,cur){return pre+cur;}); // 结果 : 6 
        
        //6 array 其他方法: 
        //     方法    描述
        //     concat()    连接两个或更多的数组,并返回结果。
        //     join()    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
        //     pop()    删除并返回数组的最后一个元素
        //     push()    向数组的末尾添加一个或更多元素,并返回新的长度。
        //     reverse()    颠倒数组中元素的顺序。
        //     shift()    删除并返回数组的第一个元素
        //     slice()    从某个已有的数组返回选定的元素
        //     sort()    对数组的元素进行排序
        //     splice()    删除元素,并向数组添加新元素。
        //     toSource()    返回该对象的源代码。
        //     toString()    把数组转换为字符串,并返回结果。
        //     toLocaleString()    把数组转换为本地数组,并返回结果。
        //     unshift()    向数组的开头添加一个或更多元素,并返回新的长度。
        //     valueOf()    返回数组对象的原始值
        
        
    </script>
    </head>
    <body>
    
    </body>
    </html>
  • 相关阅读:
    C Python类型互换
    C、C++中如何成功嵌入python
    常见Style 对象属性值
    转: , , 的区别
    dom4j: 用dom4j生成xml后第二行空行的问题
    dom4j: 生成的XML文件根节点 xmlns="" 的问题
    android
    android studio
    android studio
    FFmpeg编译: undefined reference to 'av_frame_alloc()'
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/6307469.html
Copyright © 2011-2022 走看看