JS数组

作者: 崔敏嫣 | 来源:发表于2016-08-08 20:37 被阅读0次

    1、构建数组
    无参构造函数,创造空数组
    var al=new Array();
    二、利用字面量创造数组函数
    1、使用
    var a=[];
    length是数组的默认属性,数组是一种对象。一个元素是不是对象 ,是看哟没有属性和属性值
    定义数组的时候,最最后一项是;,不是逗号模式分号
    数组的索引和长度
    遍历数组,数组是从0开始排列,
    最后一位往前遍历,
    arr.length


    数组遍历,从前往后,从后往前

    数组的头部和尾部的增加和删除
    一、尾部的添加
    [2,3,4,5]
    arr[4]=100;
    arr[arr.length]=100;
    二者是一样的
    直接按回车输出结果为arr[2,3,4,5,100]
    修改也是类似添加,直接改即可
    尾部的删除


    数组的删除
    delete是删除一个对象的属性,能被delete删除的即是对象
    全局变量 var a=1;
    b=2;
    二者定义的都是全局变量,但是var不是对象,用delete删除是flase.
    Paste_Image.png
    arr.push(10);
    输出结果为数组长度,且为最后一位加上10的长度
    arr.pop();
    输出的最后一位,并且此数字已经从数组中去掉,数组长度减少一位
    堆栈后进先出,先进后出
    三、头部的添加和删除
    arr.shift()
    输出的第一位,并且此数字已经从数组中去掉,数组长度减少一位 Paste_Image.png

    unshift是向后一位,前面一位空出来,需要内容,即为在第一位增加元素
    arr.unshift(10)

    Paste_Image.png

    三、splice可用于添加删除任何位置的元素
    从第几位到第几位拿出来,余下的就是剩余的,自动生成。

    任意位置数组的删除

    数组的插入和替换arr.splice(1,3)删除数组第一个第二个第三个,剩余的自动生成
    pop(arr)
    作为一个函数,直接操作参数,去掉最后一位,输出结果仍为减掉的那个元素
    需要插入的时候写个0,arr.splice(5,0,val),数组的第五个元前面素插入val参数
    pop/shift/unshift/splice的得到的结果实际上是数组,在代码尾部加个[0]即可得到变化后数组得到第一位
    一个数组,拼接成字符串

    Paste_Image.png

    一个数组,一个空数组,push第一行字符串,遍历数组,再push得到字符串
    slice是将数组中的一部分拿出来,其他的不发生变化.想把数组的某一段拿出来用slice
    原数组不改变
    concat拼接数组
    reverse把一个数组逆序排列
    arr.reverse()即可,翻转字符串,先将字符串翻转成数组,再逆序,再拼接
    sort数组的排序(数组的大小不是按照数值 的而大小排序,而是按照字符串排序)
    arr.sort()

    五、字符串的比较
    字符串的比较是根据asci码,看首先先看第一位。第一位如果不一样,第一位大的,字符串就大;如果第一位相同,比较第二位,同理类推
    var arr=[1,100,2,3,256];
    arr.sort(function(a,b)){
    console.log(a,b);
    conbsole.log(arr);
    return a-b;});
    数组从小到大排列。、
    数组通过下标访问,数组拼接,用join
    var str=“hello”
    str[0]
    "h"
    查找asci码

    Paste_Image.png

    数组常见操作是数组的拼接,只需要+即可
    substr(第几位开始,长度)
    substring(第几位开始,第几位结束)


    Paste_Image.png

    字符串查找search可以查找下标,找不到为-1.如果>-1是存在的额,可以找到的,第一位是0 ,是大于-1的
    str.replace( , )用一个替换另一个
    str.split将数组分割
    如果是str.split(' ‘)中间是个空格则将其分割,一个单词一个单词排列
    如果是str.split('‘)空字符串进行分割,则是将字符串进行字符分割

    Paste_Image.png

    如果需要将字符串里的单词进行排序

    Paste_Image.png Paste_Image.png

    ES5数组扩展
    1、判断一个数组是不是数组
    Array.isArray
    r如果一个元素,typeof arr是object,然后再arr instanceof Array true即可判断该元素是数组。

    Paste_Image.png

    中间参数忘记传递
    every需要每个元素都满足才为true
    some只要有一个元素满足条件,即为true
    forEach
    map对于里面的每一项去操作它,与forEach类似,遍历数组,map操作直接针对本身,forEach是针对元素,还需要显示修改,才能展现。


    Paste_Image.png

    filter从一堆元素中找出一个
    reduce逐项求和,依次递加

    Paste_Image.png

    math对象的属性
    math.abs返回绝对值
    math.max最大值
    math.min最小值
    取最大值最小值也可以选用遍历数组的方式,再赋值


    Paste_Image.png

    math.random该方法返回0-1之间的随机数

    Paste_Image.png

    取值10-20之间的数字是
    10+math.floor(math.random()*10)
    0,1,2,3
    随机数是0.00001-2.99999
    0.0001-0.49999==0
    0.5-1.49999==1
    0和1的概率是不相等的

    相关文章

      网友评论

          本文标题:JS数组

          本文链接:https://www.haomeiwen.com/subject/puxcsttx.html