数组声明

  1. 使用对象方式声明数组

    1. let arr = new Array('1','数组')
  2. 使用字面量声明数组

    1. let arr = ['1','数组']
  3. Array.of声明数组,不会创建空的数组元素

  4. Array.from可以将类数组转换成数组,类数组指可以含有length属性的可迭代对象
    1. //第一个参数是需要转换的对象,第二个参数是回调函数,处理数组中的值
    2. let str = '后盾人';
    3. console.log(Array.from(str)); //["后", "盾", "人"]
    4. //为对象设置length属性后也可以转换为数组,但要下标为数值或数值字符串
    5. let user = {
    6. 0: '后盾人',
    7. '1': 18,
    8. length: 2
    9. };
    10. console.log(Array.from(user)); //["后盾人", 18]

    数组方法

    改变数组

    push()

    向数组末尾压入元素,直接改变数组,返回值是数组元素数量

    unshift()

    从数组前面压入元素,返回值是数组元素个数

    pop()

    从数组末尾弹出元素,返回值是弹出的元素

    shift()

    从数组前面取出元素

    fill()

    向数组指定位置填充元素,第一个参数指的是需要添加的元素,第二和第三参数指的是填充位置

    slice()

    该方法截取数组部分元素,第一个参数为截取位置,如果不传第二个参数的话,就截取到末尾

    splice()

    该方法可以执行删除、添加、修改数组,会对原数组产生改变,返回值为删除的元素。第一个参数为删除的位置,第二个参数为删除的数量,以后的参数为在删除位置替换的元素

    join()

    将数组元素连接成字符串输出

    split()

    将字符串分解为数组,以特定格式

    concat()

    将数组连接,如果元素是值类型的话则是复制操作,如果是引用类型的还是指向同一对象

    查找数组

    indexOf

    从前往后查找出现的第一个元素,如果查找不到返回-1,如果找到则返回出现的位置,第二参数是开始查找的位置

    lastIndexOf

    和indexOf相反的查找方向

    includes

    返回布尔值,没办法查找引用类型的,因为地址不相等

    find

    可以将查找的值返回出来,参数是回调函数
    原理:
    1. let arr1=[{name:"lisa"}]
    2. function newFind(array,callback){
    3. for(const value of array){
    4. if(callback(value)) return value
    5. }
    6. return undefined
    7. }
    8. console.log(newFind(arr1,item => item.name === "jack"))