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

    什么是数组?

    数组也是对象,由中括号包裹,索引从零开始递增,有length属性存储数组的长度

    ary[0] 获取第一项

    ary[aru.length-1]获取最后一项

    数组可以有多维数组

    var ary=[
     {name:'a'},
     {name:'b'}
    ]

    数组的常用方法:

    push:向数组末尾添加,参数一个或多个,返回新增后的数组长度,原数组改变
    pop:删除 数组末尾一项,无参数,返回删除的项,原数组改变

    shift:删除 数组第一项,无参数,返回删除的项,原数组改变( 基于shift删除数组第一项,原有后面每一项索引都要向前 提一位(减一位),如果数组很长,消耗就比较大)

    unshift:向数组开头添加,参数一个或者多个,返回新增数组的长度,原数组改变

    reverse:把数组倒过来,无参数,返回倒过来的新数组,原数组改变

    sort:排序(正序/倒序),无参数/函数,返回拼接后的新数组,原数组改变

    sort在不传递参数的情况下,只能处理10以内的数字,真实项目中sort排序都需要传递参数

    var  ary = [20,5,45,100,89,3];
    
    ary.sort(function (a,b){
    
        return a-b ; //升序   b-a降序
    })

    splice:增删改数组

    splice增删改 详解
    删除

    从索引n删除m个,从索引n删除到末尾

    删除部分以新数组返回 改变
    新增 从索引n处删除0项,把x或更多内容插入到索引n的前面 删除部分以新数组返回,如果是0项,返回的是空数组 改变
    修改 从索引n删除m个,把x或更多内容替换删除内容 删除部分以新数组返回 改变

    需求扩展:

    1、删除数组最后一项,有几种方法?

       1) pop()

       2) splice(ary.length-1)

       3) ary.length--

       4) delete ary[ary.length-1] 不建议使用

    2、向数组末尾追加新的内容,有几种方法?

       1) push(x,y,z)

       2)splice(ary.length,0,x)

       3) ary [ary.length]=x

    slice:按照条件查找内容

    方法名 作用 参数 返回值 原数组是否改变
    slice 按照条件查找内容 从索引n找到索引m,不包含m 把查找到的内容以新数组返回 不变
        0和没有参数 可以实现数组克隆 浅克隆数组 不变
        -3,-1倒数第3个到倒数第1个,不包含倒数第1个 把查找的内容以数组返回 不变

    concat:拼接数组,要拼接的数组,返回拼接后的新数组,原数组不变,可基于空数组为拼接的开始,在参数中排列拼接的顺序,空数组不占位置

    toString:数组转换为字符串,无参数,返回用逗号返回的字符串,原数组不变

    join:数组转换为字符串,可以设置连接符,参数是指定的连接符,返回字符串,原数组不变

    数组求和:

    基于join使用+号作为分隔符,先把数组变成每一项相加的字符串,基于eval把字符串变成js表达式执行,得到的结果就是数组中每一项累加的和

    eval(ary.join('+'))

     indexOf / lastIndexOf :检测当前值在数组中第一次/ 最后一次出现的索引位置,参数 为要检测的值,返回索引(-1代表没有),原数组不变

    真实项目中为了验证是否包含某一项

    var ary = [2,5,6,84];
    if(ary.indexOf(100)>-1){
      //ary中包含100这一项
    }

    以上只是数组一部分方法,控制台输入 Array.prototype还会有很多数组的方法没有详细说,由浅至深,下一篇再整理其他的数组方法吧!

  • 相关阅读:
    《显示器件应用分析精粹》构思
    《三极管应用分析精粹》已经交稿
    leetcode
    mskitten
    如果IBM再给我一次实习机会
    “完美工作”是什么样子
    一起四十岁退休吧……
    未来公司的酒会
    热泪盈眶的五十岁 | James Altucher
    一个程序员的辞呈
  • 原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11424615.html
Copyright © 2011-2022 走看看