zoukankan      html  css  js  c++  java
  • 小白随笔之数组的方法

    数组的增删

    (后进先出)最近添加项最早被移除

      push()可接任意数量的参数,把他们挨个添加到数组的末尾,返回修改的数组长度

      pop()删除数组末尾项,length减少,并返回移除项

    (先进先出)数组第一项最先被移除

    push()

    shift()移除数组中的第一项并返回该项,length减少

    unshift() 向数组的开头添加任意项并返回新数组的长度;

    IE7及更早版本对js的实现中存在一个偏差,其unshift()方法总是返回undefined而不是数组的新长度。IE8在非兼容模式下回返回正确的长度值 ----------《javascript高级程序设计第三版》

    reverse() 方法会翻转数组的顺序,如

      const values = [10,5,1,3,4]
      console.log("[10,5,1,3,4]反转"+values.reverse()) // [10,5,1,3,4]反转4,3,1,5,10
      console.log("[10,5,1,3,4]进行升序操作"+values.sort(function(a,b){return a-b})) // [10,5,1,3,4]进行升序操作1,3,4,5,10
      console.log("[10,5,1,3,4]进行降序操作"+values.sort(function(a,b){return b-a})) // [10,5,1,3,4]进行降序操作10,5,4,3,1
      console.log(values) // [10, 5, 4, 3, 1]

    当在使用sort()方法时会调用每一个数组项的toString()方法,然后比较得到的字符串(会好奇字符串是怎么做比较的?我当时是挺好奇的)以确定如何排序,即使数组中的每一项都是数值,sort()方法比较的也是字符串,

    concat() 方法会创建当前数组的一个副本,然后将接受到的参数添加到这个副本的末尾,最后返回新构建的数组。如果在没有传参的情况下,它只是复制当前数组并返回副本,如果传递参一个或多个数组作为参数,则该方法会将这些数组中的每一项都添加到结果数组中,

    slice() 方法可从已有的数组中返回选定的元素,该方法接受一个或者两个参数,既其实位置和结束位置,如果是有一个参数,该方法返回从该参数指定的位置开始到数组的末尾的所有项,如果是两个参数,则返回起始位置和结束位置之间的项(不包含结束位置)例如 arr.slice(1,5)则返回位置(索引)1-4之间的项。注:该方法不影响原始的数组,如

    const colors = ["red","blue","yellow","gray"];
    console.log(colors.slice(1,3)) // ["blue", "yellow"] 
    console.log(colors) // ["red", "blue", "yellow", "gray"]

     如果slice()方法的参数中有一个是负数,则用数组长度加上该项来确定相应的位置,如

    const colors = ["red","blue","yellow","gray"];
    console.log(colors.slice(-2, -1))// 等价于=> colors.slice(2,3) ["yellow"]

    如果结束位置小于起始位置,则返回空数组。

    splice()方法,算是数组中最强大的方法了,主要用途是向数组中的中部插入项,使用方法有如下三种

    1.删除:可以删除任意数量的项,只需要指定2个参数,要删除的第一项的位置和要删除的项数,

    const colors = ["red","blue","yellow","gray"];
    colors.splice(1,2)
    console.log(colors) // (2) ["red", "gray"]

    2.插入:可以向指定位置插入任意数量的项,只需提供3个参数,起始位置,要删除的项,和要插入的项,如

    const colors = ["red","blue","yellow","gray"];
    colors.splice(1,0,"pink");
    console.log(colors) // (5) ["red", "pink", "blue", "yellow", "gray"]

    3.替换:可以向指定位置插入任意数量的项,只需提供3个参数,起始位置,要删除的项,和要插入的项,如

    const colors = ["red","blue","yellow","gray"];
    colors.splice(1,2,"pink");
    console.log(colors) // (3) ["red", "pink", "gray"]

    splice()方法始终都返回一个数组,该数组包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。

    indexOf()和lastIndexOf()这两个方法都接受两个参数;要查找的项和(可选)表示查找起点位置的索引,其中indexOf()是从数组的开头向后查找,lastIndexOf()则从数组的末尾开始查找,这两个方法都是返回要查找的项在数组中的位置(索引),如果没有找到返回-1,当在比较第一个参数(也就是要查找的项)与数组中的每一项时,会使用全等操作符。

     

  • 相关阅读:
    Web Api跨域访问配置及调用示例
    EasyUI datagrid 日期时间格式化
    bootstrap-table组合表头
    Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web mod
    Java 开发环境配置
    一台电脑上配置多个tomcat
    使用plsql Developer 连接远程服务器
    阿里云初识
    算法入门———冒泡排序
    算法入门———递归
  • 原文地址:https://www.cnblogs.com/TheHeartWants/p/7955474.html
Copyright © 2011-2022 走看看