zoukankan      html  css  js  c++  java
  • JS数组及内置对象

    [JS中的数组]

    1、数组的概念:数组是在内存中连续存储多个有序元素的结构
    元素的顺序,称为下标,通过下标查找对应元素。

    2、数组的声明:
     ① 字面量声明: var arr1 = [];
    JS中同一数组,可以储存多种不同的数据类型(但一般同一数组只用于存放同种数据类型):
    例如:var arr1 = [1,"2",true,{"name":"jianghao"},[1,2]];

     ② new关键字声明: var arr2 = new Array(参数);
     >>> 参数可以为:
    a.为空: 声明一个,没有指定长度的数组;
     b.数组的length:声明一个指定长度的数组,但是数组的长度随时可变可追加,最大长度为0-(2^32-1);
     c.数组默认的N个值: new Array(1,"2",true); 相当于[1,"2",true]

     3、数组中元素的读写/增删:
     ① 读写:通过下标来访问元素,例如 arr[2];
     ② 增删:delete arr[n]; 删除数组第n+1个值,但数组长度不变,对应位置值为Undefined
     arr3.push(值); 数组最后增加一个值,相当于arr3[arr3.length] = 7;
     arr3.unshift(值); 数组的第0位插入一个值,其余位数顺延;
     arr3.pop(); 删除数组最后一位,与delete不同的是,pop执行后数组长度也会减少一个; 相当于 arr.length-=1;
    arr3.shift(); 删除数组第0位,长度也会减一;

     4、数组中其他常用方法:
     ① join("分隔符"); 将数组用指定分隔符分隔,链接为字符串。参数为空时,默认用逗号分隔;
     ② concat(); 【原数组不被改变】将数组,与多个数组的值链接为新的数组;
     [1,2].concat([3,4],[5,6]) =[1,2,3,4,5,6]; //连接时,中括号至多拆一层
     [1,2].concat([1,2,[3,4]]) =[1,2,1,2,[3,4]];//多层中括号,以二维数组形式存在

     ③ push(): 数组最后增加数; unshift(): 数组开始增加一个数 【返回数组新的长度】
     pop(): 删除数组最后一个; shitf():删除数组第一个 【返回被删除的值】
     【调用上述方法,原数组均被改变】

     ④ recerse(): 【原数组被改变】数组翻转,逆序排列。

     ⑤ slice(begin,end):【原数组不会被改变】 截取数组中的某一部分,成为新数组
     >>> 传递一个参数:默认为begin index,当这个开始,截到最后一个;
     >>> 传递两个参数:截取从begin到end区间,左闭右开(包含begin,不含end);
     >>> 参数可以为负数,-1表示最后一个;

    ⑥ sort(function): 【原数组会被改变】 对数组进行排序;
     >>> 不指定排序函数: 按照数值的ascii码值进行排练;
     >>> 传入排序函数:默认两个参数a,b,如果返回值>0,则a>b;反之返回值<0,则a<b
     arr3.sort(function(a,b){
        //return a-b; // b在前,a在后(升序排列)
    return b-a; // a在前,b在后(降序排列)
    });

     ⑦ indexOf(value,index): 返回数组中第一个value值对应的下标位置,若未找到返回-1
     lastIndexOf(value,index):返回最后一个value值对应的下标位置,。。。。。。
     >>> 若未指定index参数:默认在数组所有所有元素中查询;
     若指定index参数:则从当前index开始,向后查询;


     5、二维数组&稀疏数组(了解):
    ① 稀疏数组:数组并不含有从0开始到length-1的所有索引(length值比实际元素个数多);
    ② 二维数组: var arr = [[1,2],[3,4],[5,6]]; //相当于三行两列的矩阵
    取出二维数组元素: arr[行号][列号]; // 可使用嵌套循环遍历

     6、 引用数据类型&基本数据类型:
     引用数据类型:(数组/对象)赋值时,是将原变量的地址,赋给新变量。两个变量,实际上操作的是同一份数据,所以,修改其中一个变量,另一个跟着变化;
     基本数据类型:赋值时,是将原变量的值,赋值给新的变量。两个变量,属于不同的内存空间,修改其中一个,互不干扰;


    【内置对象】

    Number类

     Number.MIN_VALUE 可表示的最小数
     Number.MAX_VALUE 可表示的最大数
     .toString():将数字转为字符串,相当于 num+""
     .toFixed(n):将数字转为字符串,保留n位小数,四舍五入
     .valueOf():返回Number对象的基本数字值
     .toLocaleString():将数字按照本地格式的顺序转为字符串。一般,三个一组加逗号
     .toPrecision(n):将数字格式化为指定长度,n=不含小数点的所有位数和

    字符串String
     1、属性:str.length 返回字符串的长度
     2、方法:
     .toLowerCase() 所有字符转为小写;
     .toUpperCase() 所有字符转为大写;
     .charAt(n) 截取字符串中第n个字符
     .indexOf("查询子串",index) 查询从index开始的,第一个子串的索引。没找到返回-1,同数组的indexOf()方法;
     .substring(begin,end) 截取子串
     >>> 只写一个参数:从begin开始,到最后
     >>> 写两个参数:从begin开始,到end。左闭右开。
     .replace("old","new") 将字符串中,第一个old,替换为new。第一个参数可以为普通字符串,也可以为正则表达式(普通字符串将只匹配第一个,正则表达式则根据具体情况区分)。
     .split("") 将字符串,通过制定分隔符分为数组。传入""空字符串,将把单个字符存入数组

    Date类
    1、 new Date(); 拿到当前最新时间;
     new Date("2017,4,4,14:58:12") 设置指定时间
     2、常用方法:
     .getFullYear(): 获取4位年份
     .getMonth(): 获取月份 0~11
     .getDate(): 获取一月中的某一天 1~31
     .getDay(): 获取一周中的某一天 0~6
     .getHours() 返回 Date 对象的小时 (0 ~ 23)
     .getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
     .getSeconds() 返回 Date 对象的秒数 (0 ~ 59)

  • 相关阅读:
    JQuery EasyUi之界面设计——通用的JavaScript
    easyui datagrid 行右键 动态获取并生成toolbar 按钮
    Jq基础拓展 json to String
    电信光纤猫(HG8245)破解教程 开启无线网、路由器功能(第二章)
    plsql 无需配置客户端连接.
    中文分词常用算法之基于词典的正向最大匹配
    中文分词常用算法之基于词典的逆向最大匹配
    SQL SERVER安装序列号
    查询锁事务及语句
    SQL Server 数据库备份
  • 原文地址:https://www.cnblogs.com/huixin520/p/6754563.html
Copyright © 2011-2022 走看看