zoukankan      html  css  js  c++  java
  • 数组常用的一些方法

    1、push()

    向数组的末尾添加新内容
     
    参数:要添加的项。传递多个用逗号隔开,任何数据类型都可以
    返回值:新增后数组的长度
    是否改变原数组:改变
    let ary1 = [12,34,26];
    ary1.push(100); //返回一个新的长度 length=4
    console.log(ary1)//结果为 [12,34,26,100] 

    2、pop()

    删除数组的最后一项

    参数:无
    返回值:被删除的项
    是否改变原数组:改变
    let ary2 = [108,112,39,10];
    ary2.pop();//删除的最后一项为10
    console.log(ary2);//[108, 112, 39]

    3、shift()

    删除数组的第一项

    参数:无
    返回值:被删除的项
    是否改变原数组:改变
    let ary3 = [0,108,112,39];
    ary3.shift();//删除的第一项为0
    console.log(ary3);//[108, 112, 39]

    4、unshift()

    向数组首位添加新内容
     
    参数:要添加的项,多项用','隔开
    返回值:新数组的长度
    是否改变原数组:改变
    let ary4 = ['c','d'];
    ary4.unshift('a','b');
    console.log(ary4);//["a", "b", "c", "d"]

    5、slice()

    按照条件查找出其中的部分内容
     
    参数:
    array.slice(n, m),从索引n开始查找到m处(不包含m)
    array.slice(n) 第二个参数省略,则一直查找到末尾
    array.slice(0)原样输出内容,可以实现数组克隆
    array.slice(-n,-m) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项
    返回值:返回一个新数组
    是否改变原数组:不改变
    let ary5 = [1,2,3,4,5,6,7,8,9];
     //console.log(ary5.slice(2,8));//从索引2开始查找到索引为8的内容,结果为[3, 4, 5, 6, 7, 8]
     //console.log(ary5.slice(0));
     console.log(ary5.slice(-2,-1));//[8]

    6、splice()

    对数组进行增删改
     
    增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面
    返回空数组

    修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分
    把原有内容删除掉,然后用新内容替换掉

    删除:ary.splice(n,m) 从索引n开始删除m个内容
    (如果第二个参数省略,则从n删除到末尾)
    返回删除的新数组,原有数组改变
      //增加
      let ary6_z = [33,44,55,66,77,88];
      ary6_z.splice(2,0,'a','b')
      console.log(ary6_z);// [33, 44, "a", "b", 55, 66, 77, 88]
    
      //修改
      let ary6_x = [33,44,55,66,77,88];
      ary6_x.splice(1,2,'x','y')
      console.log(ary6_x);// [33, "x", "y", 66, 77, 88]
    
      //删除
       let ary6_s = [33,44,55,66,77,88];
       //console.log(ary6.splice(3,2))//[66, 77]
       console.log(ary6_s.splice(3));//[66, 77, 88]

    7、join()

    用指定的分隔符将数组每一项拼接为字符串
     
    参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)
    返回值:拼接好的字符串
    是否改变原数组:不改变
    let ary7 = [1,2,3];
    console.log(ary7.join('、'));//1、2、3

    8、concat()

    用于连接两个或多个数组
     
    参数:参数可以是具体的值,也可以是数组对象。可以是任意多个
    返回值:返回连接后的新数组
    是否改变原数组:不改变
    let ary8 = ['你'];
    let ary80 = ary8.concat('好');
    console.log(ary80);//["你", "好"]

    9、indexOf()

    检测当前值在数组中第一次出现的位置索引
     
    参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置
    返回值:第一次查到的索引,未找到返回-1
    是否改变原数组:不改变
    let ary9 = ['a','b','c','d','e','a','f'];   
    console.log(ary9.indexOf('c'));//2
    console.log(ary9.indexOf('a',3))//5

    10、lastIndexOf()

    检测当前值在数组中最后一次出现的位置索引
     
    参数:array.lastIndexOf(item,start) item:查找的元素 start:字符串中开始检索的位置
    返回值:第一次查到的索引,未找到返回-1
    是否改变原数组:不改变
    let ary10 = ['a','b','c','d','e','a','f'];   
    console.log(ary10.lastIndexOf('c'));//2
    console.log(ary10.lastIndexOf('f',1))//-1

    11、includes()

    判断一个数组是否包含一个指定的值
     
    参数:指定的内容
    返回值:布尔值
    是否改变原数组:不改变
    let ary13 = ['a','b','c','d']; 
    console.log(ary13.includes('c'));//true
    console.log(ary13.includes(2));//false

    12、sort()

    对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)
     
    参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序
    返回值:排序后新数组
    是否改变原数组:改变
    sort在不传递参数情况下,只能处理10以内(个位数)数字排序
       let ary11 = [32,44,23,54,90,12,9]; 
       ary11.sort(function(a,b){
            // return a-b;  // 结果[9, 12, 23, 32, 44, 54, 90]
            // return b-a;  // 结果[90, 54, 44, 32, 23, 12, 9]
       })  
        console.log(ary11);

    13、reverse()

    把数组倒过来排列
     
    参数:无
    返回值:倒序后新数组
    是否改变原数组:改变
    let ary12 = [6,8,10,12]; 
    console.log(ary12.reverse());//[12, 10, 8, 6]

    14、forEach()

    循环遍历数组每一项
     
    参数:函数 ary.forEach(function(item,index,ary){}) item:每一项 index:索引 ary:当前数组
    返回值:无
    是否改变原数组:不改变
    forEach中不能使用continue和break,forEach中不能跳出,只能跳过(return跳过)
     let ary14 = ['a','b','c','d']; 
     let item = ary14.forEach(function(item,index,ary){
            console.log(item,index,ary);
       })
  • 相关阅读:
    《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
    伍迷七八月新浪微博集锦
    《大话数据结构》第9章 排序 9.7 堆排序(下)
    《大话数据结构》第3章 线性表 3.8.2 单链表的删除
    《大话数据结构》第9章 排序 9.5 直接插入排序
    《大话数据结构》第9章 排序 9.8 归并排序(上)
    《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
    《大话数据结构》第1章 数据结构绪论 1.1 开场白
    《大话数据结构》第9章 排序 9.1 开场白
    [AWS] Assign a public IP address to an EC2 instance after launched
  • 原文地址:https://www.cnblogs.com/theblogs/p/10519318.html
Copyright © 2011-2022 走看看