• 一、数组


    数组是最简单的内存数据结构,javascript数组可以保存不同类型的值,但是为了最佳实践,我们最好保存同一类型的值。

    创建和初始化数组

    // 创建数组
    var demoArray = new Array();
    
    // 创建指定长度的数组
    var demoArray = new Array(3);
    
    // 创建指定内容的数组
    var demoArray = new Array(1,2,3,4);
    
    // 创建空数组
    var demoArray = [];
    
    // 创建指定内容的数组
    var demoArray = [1,2,3,4,5];
    

    常用操作

    
    var demoArray = [1,2,3,4,5];
    
    // 查看数组长度
    demoArray.length;
    
    // 获取指定下标元素,index为元素下标,如果下标位置元素不存在则item为undefined
    var item = demoArray[index]
    

    添加和删除元素

    
    var number = [1,2,3];
    
    // 通过下标添加元素
    // 为下标不存在的元素赋值,会直接将数组元素增加,并且数组长度也增加中间未赋值的元素为undefined
    number[3] = 4;
    
    // 通过push方法添加
    // 会向数组尾部增加元素,push可以传入多个值,返回添加后的数组长度。
    number.push(5);
    number.push(6,7);
    
    // 通过unshift方法添加
    // 会向数组头部增加元素,可以传入多个值,返回添加后的数组长度
    
    number.unshift(0);
    
    //添加顺序为-1,-2,也就是从后向前逐个头部添加
    number.unshift(-2,-1);
    
    // 通过pop方法删除元素
    // 删除数组尾部的一个元素,返回被删除元素
    number.pop();
    
    // 通过shift方法删除元素
    // 删除数组第一个元素,返回被删除元素
    number.shift();
    
    // 通过splice添加/替换/删除元素
    
    // 删除指定元素
    // 第一个参数为开始位置,第二个参数为长度
    // 也就是说删除从索引为2的元素开始(包括2)的三个元素
    number.splice(2,3);
    
    // 从第三个参数开始(包括第三个参数),将从第一个参数的位置开始添加添加这些元素,可用于替换指定位置的值
    number.splice(2,3,1,3,4);
    

    其它数组方法

    var number = [1,2,3,4];
    
    // 连接两个或更多数组,并返回新数组
    number.concat(number);
    number.concat(number,number);
    
    // 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
    number.every(function(item){
        // do something……
        return true;
    });
    
    // 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的新数组
    
    // 返回偶数构成的数组
    number.filter(function(item){
        if(item%2 === 0){
            return true;
        }
    });
    
    // 对数组中的每一项运行给定的函数。无返回值
    number.forEach(function(item,index){});
    
    // 将所有的 数组元素连接成一个字符串
    
    // 默认采用','进行连接,如果有参数则使用参数进行连接
    // 数组的toString方法返回的是','连接的字符串
    number.join();
    
    // 返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
    number.indexOf(2);
    
    // 返回在数组中搜索到的与给定参数相等的元素的索引里的最大的值
    number.lastIndexOf(2);
    
    // 对数组中的每一项运行给定函数,返回每次函数调用的结果组成 的新数组
    number.map(function(item,index){return item});
    
    // 颠倒数组中元素的顺序
    // 原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了现在的第一个
    number.reverse();
    
    // 传入索引值,将数组里对应索引范围内的元素作为新数组返回
    // 第一个参数值默认为0
    // 第二个参数值默认为数组长度
    number.slice()
    
    // 对数组中的每一项运行给定函数,如果任一项返回true,则返回true
    number.some(function(item){return true;});
    
    // 按照字母顺序对数组排序,支持传入指定排序方法的函数作为参数,会改变原数组
    number.sort();
    
    // 从小到大排序
    number.sort(function(a,b){
        if(a<b){
            return -1;
        }else if(a>b){
            return 1;
        }else{
            return 0;
        }
    });
    
    // 返回原数租
    number.valueOf();
    
  • 相关阅读:
    Arcmap软件报错:This application cannot run under a virtual machine arcmapr, 但是你并没有使用虚拟机
    Sql server 2008 作业失败通知邮件配置
    能drag和resize的DIV,目的是做一个类似于数据库视图设计器
    Type.GetType()与System.Web.Compilation.BuildManager.GetType()
    让你的实体字段和页面上的控件映射,自动绑定 ObjectBinding1.0
    利用Log Explor来恢复误用delete 、update了的数据
    破解版果冻手机动画主题for WM5 & WM6
    封装一个图片轮换的web控件
    利用Lucene.net对附件做搜索
    关于TransactionScope分布式事务在Oracle下的运作
  • 原文地址:https://www.cnblogs.com/zhangkaiqiang/p/5879060.html
Copyright © 2020-2023  润新知