zoukankan      html  css  js  c++  java
  • 数组的方法

    由于数组很常用,数组上会自带很多的方法,提供给我们用于操作数组,这些方法都已经实现好了,我们只管去调用它即可

    (是数组的方法,就只能是数组才可以调用)

    1. push()方法

    作用:在数组的末尾增加项

    参数:要加入的项

    返回值:新增项目后数组的长度

    2. unshift()方法

    作用:在数组的开头增加项

    参数:要加入的项

    返回值:新增项目后数组的长度

    3. pop()方法

    作用:在数组的末尾删除一项 (固定就删数组末尾的那一个)

    参数:没有参数

    返回值:被删除的那一项

    4. shift()方法

    作用:在数组的开头删除一项

    参数:没有参数

    返回值:被删除的那一项

    5. splice()方法

    在数组的任意一个位置增加或删除或修改

    参数:1.开始的索引 2.要删除几项  3.要加入的那一项

     删除

    Var ary = [2,4,5,43,5,22,3,5]  ary.splice(4,3) [2,4,5,43,5] -> [5,22,3]

    ary.splice(n,m)   

    从索引n开始,删除m个项 ,把删除的项以一个新的数组返回,原数组改变            

           Ary.splice(n)  从索引n开始,删除后面所有的项 

           Ary.splice(0)  把数组从开头删到结尾(把原数组删完了),返回值就是包含原数组所有项的数组,相当于 清空原数组克隆一份新数组 

           Ary.splice()   数组中一个都没有删除,返回一个空数组

    修改

    Var ary = [2,4,5,43,5,22,3,5]

           ary.splice(n,m,x)  ary.slice(1,4,100)  [2,100,22,3,5]

           从索引n开始,删除m个项,把x这一项替换到被删除项的位置

    增加

    Var ary = [2,4,5,43,5,22,3,5]

           ary.splice(n,0,x)  ary.splice(5,0,666)  [2,4,5,43,5,666,22,3,5]

           从索引n开始,删除0个项,把x这一项放到索引n的前面

    把删除的项以一个新的数组返回,原数组改变

    6.slice()方法(不会改变原数组)

    作用:从数组中拷贝出指定的项

    参数:1.开始的索引 2.结束的索引

    返回值:一个数组,把所有拷贝到的项装到这个数组中

    改变原数组:不会

              Var  arr = [2,4,6,8,10]

              var  newArr = arr.slice(1,4)

             从索引1开始拷贝,一直拷贝到索引4处,但不包括索引3,返回[4,6,8]

               在不传参: var  newArr = arr.slice(), 返回 [2,4,6,8,10] ,完整拷贝

               传一个参数:var  newArr = arr.slice(0),返回 [2,4,6,8,10] ,完整拷贝

              传一个参数:var  newArr = arr.slice(2),返回 [6,8,10]

     

    7.concat()方法(不会改变原数组)

    作用:把两个(多个)数组拼成一个新数组

    参数:要拼接的组数(也可以数字,字符串...)

    返回值:拼好的一个新数组

    Var arr1 = [3,5,7]

    Var arr2 = [2,4,6]

    基本的应用

    var newarr  = arr1.concat(arr2)  --> [3,5,7,2,4,6]

     

    8.toString()方法(不会改变原数组)

    作用:把数组转成一个字符串

    参数:没有参数

    返回值:转好的字符串

    var  arr = [2,4,6,8,10]

    Console.log(arr.toString())  --> “2,4,6,8,10”

     

    9.join()方法(不会改变原数组)

    作用:把数组按指定的“分隔符”转成一个字符串

    参数:“分隔符”,可以是任意的字符,如:+,|,””,abc,!@#$

    返回值:转好的字符串

    Var  arr = [2,4,6,8,10]

    console.log(arr.join( ))  --> “2,4,6,8,10”

    console.log(arr.join(“”))  -->”246810”

    console.log(arr.join(“|”))  -->”2|4|6|8|10”

    console.log(arr.join(“+”))  -->”2+4+6+8+10”

    用全局提供的一个方法eval( ):把一个字符串转成一个表达式

       console.log(eval(arr.join(“+”)))  -->30

     

    10. indexOf()/lastIndexOf()方法(不会改变原数组)

    作用:按指定的值查找它的索引

    参数:一个值

    返回值:对应的索引 

    Var  arr = [2,4,6,8,10,12]

    Console.log(arr.indexOf(6));

    从数组的左边开始在数组中找到6这个值对应的索引; --> 2

    Console.log(arr.lastIndexOf(6));

    从数组的右边开始在数组中找到6这个值对应的索引;--> 2

    Console.log(arr.indexOf(9));

    从数组的左边开始在数组中找到9这个值对应的索引;-->  -1

     

    如果在个值在数组中不存在 会返回 -1,我们可以通过这个特性,来判断一个值在不在一个数组中。

     Var  class = [“小明”,”小白”,”小黑”]

     If(class.indexOf(“小乔”)== -1){

       Console.log(“我们班没有小乔这个人”)

    }

     

    var  arr = [2,4,6,8,10,6,12]

    我们可以利用indexOf()/lastIndexOf()一起,来判断一个值在数组中是不是唯一的

    Console.log(arr.indexOf(6))  -->2

    Console.log(arr.lastIndexOf(6))  --> 5

     

    If(arr.indexOf(6) == arr.lastIndexOf(6) ){

    Cosole.log(“在这个数组中只有一个6,6是唯一的”)

    }else{ console.log(“6不是唯一的”)}

     

     

    11. includes方法(不会改变原数组)

    作用:判断数组中是否包含某个值

    参数:1.一个值 2.开始找的索引

    返回值:true/false

     

    Var  arr = [2,4,6,8,10,12]

    console.log(arr.includes(6)); 判断在数组中是否包含6,返回 --> true

    console.log(arr.includes(9)); 返回 --> false

    console.log(arr.includes(6,4));  从索引4开始,找6,返回 --> false

     

    12.reverse()方法

    作用:把数组倒过来

    参数:没有参数

    返回值:倒过来的数组

    Var  arr = [32,6,99,2,7]

    console.log(arr.reverse()) -- > [7,2,99,6,32]

     

    13. sort()方法

    作用:给数组排序

    参数:是一个函数

    返回值:排好的数组

    var arr = [13,5,100,28,92,39]

                console.log(arr.sort(function(a,b){return a-b}))  //由小到大

                console.log(arr.sort((a,b)=>a-b)) 

     

     

     

  • 相关阅读:
    Android客户端消息推送原理简介
    优秀程序员的十个习惯
    能让你成为更优秀程序员的10个C语言资源
    成大事必备9种能力、9种手段、9种心态
    33个优秀的HTML5应用演示 (转)
    Maven学习:Eclipse使用maven构建web项目(转)
    使用fiddler模拟http get
    TLS握手
    风暴英雄 http 302重定向 正在等待游戏模式下载完成
    page template in kentico
  • 原文地址:https://www.cnblogs.com/leitongtong/p/13926629.html
Copyright © 2011-2022 走看看