美文网首页
js基础-数组

js基础-数组

作者: 小萌_f48c | 来源:发表于2022-01-29 12:13 被阅读0次

    一、数组的方法

    1.数组的创建

    var arrayObj = new Array(); //创建一个数组
    var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
    var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
    

    要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

    2.数组的元素的访问

    var testGetArrValue=arrayObj[1]; //获取数组的元素值
    arrayObj[1]= "这是新值"; //给数组元素赋予新的值
    

    3.栈方法(LIFO Last-In-First-Out,后进先出 push pop)、队列方法(LIFOFirst-In-First-Out,先进先出 push shift)

    这两个方法最为常见,具体就是 push() pop()为栈方法,shift() unshift()为队列方法。数组头尾部的压入和删除


    元素入栈 元素出栈
    var students = [];
    students.push("bluce","jordan","marlon","kobe");//入栈4项
    alert(students.length);   //4
    alert(students[0]);     //"bluce",第一项在栈的底部
    alert(students[1]);     //"jordan"
    students.push("paul");
    alert(students.length);   //5
    var item = students.pop(); //"paul"
    alert(students.length);   //4
    
    队列入队 队列出队
    var students = [];
    students.push("bluce","jordan","marlon","kobe");//入队4项
    //students=["bluce","jordan","marlon","kobe"];
    alert(students.length);   //4
    alert(students[0]);     //"bluce",第一项在栈的底部
    alert(students[1]);     //"jordan"
    students.push("paul");
    alert(students.length);   //5
    //students=["bluce","jordan","marlon","kobe","paul"];
    var item = students.shift();  //"bluce"
    alert(students.length);   //4
    //students=["jordan","marlon","kobe","paul"];
    

    4.重排序 reserve()和 sort()

    reserve()是反转数组,而sort()是数组的重排序,默认为升序,sort()实现排序原理是会调用每个数组项的 toString()方法,比较得到的字符串。这个方法可能会出错,因为它比较的是转型后的字符串。

    5.位置方法

    有两个位置方法 indexOf() 和 lastIndexOf(),都接受两个参数,即要查找的项和查找起点的位置(该参数可选),只不过两个方法查找的顺序相反,indexOf()是从头到尾的,且两个方法都返回被查找的项在数组中的位置,若没找到返回-1,利用这点,我们可以用来进行数组的去重,

    6.归并方法

    reduce(), reduceRight()。这两个方法都会迭代数组项,并返回最终的值。

    7.迭代方法

    every 每一项都是true 返回true ,返回值 boolean
    some 有一项是true 返回true,返回 boolean
    filter 处理每一项,返回处理后的数组 (一般是过滤数据)
    map 返回处理后的,每一项组成的数组
    forEach、for 无返回值
    

    二、方法总结

    哪些数组方法会改变原数组:

      unshift();
      push();
      shift();
      pop();
      sort();
      reverse();
      splice();
    

    数组的方法总结

    会改变原数组的方法

    unshift();
    push();
    shift();
    pop();
    sort();
    reverse();
    splice();
    

    参考:
    https://www.cnblogs.com/fanghl/p/9383581.html
    https://www.jb51.net/article/85176.htm
    https://www.cnblogs.com/jiuxia/p/11509616.html
    仅为个人学习所用,如有侵权,留言删除。

    相关文章

      网友评论

          本文标题:js基础-数组

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