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)) 

     

     

     

  • 相关阅读:
    How To Build CyanogenMod Android for smartphone
    CentOS安装Code::Blocks
    How to Dual boot Multiple ROMs on Your Android SmartPhone (Upto Five Roms)?
    Audacious——Linux音乐播放器
    How to Dual Boot Multiple ROMs on Your Android Phone
    Everything You Need to Know About Rooting Your Android Phone
    How to Flash a ROM to Your Android Phone
    什么是NANDroid,如何加载NANDroid备份?
    Have you considered compiled a batman-adv.ko for android?
    BATMAN—Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.)
  • 原文地址:https://www.cnblogs.com/leitongtong/p/13926629.html
Copyright © 2011-2022 走看看