Skip to content

数组的几个方法 #23

@hoperyy

Description

@hoperyy
  • Array.isArray(obj)

    用来判断一个值是否为数组。它可以用来弥补 typeof 的不足(typeof []object)。

  • valueof()toString()

  • join() 转为字符串,不传参的话,默认用逗号分隔

  • concat(newArray) 连接数组,返回一个新数组,不改变原数组

  • 尾部加减:push()pop()(返回删除的最后一个元素)

  • 首部加减:shift()(返回删除的第一个元素)、unshift()

  • reverse() 颠倒数组元素的顺序,会改变原数组

  • slice(start, end) 返回由指定的数组成员组成的新数组,原数组不改变。两个参数:[起点,终点)

  • splice(start, end, newItem1, newItem2 ...) 删除元素,并添加新元素,会改变原数组

    如果仅仅是添加元素,注意:[1, 2, 3].splice(1, 0, 4) 值是 [1, 4, 2, 3]。也就是说,4 被加载了 2 前面。

  • sort() 对数组元素排序,默认是按照字典顺序排序。会改变原数组

  • arr.filter(fn)

    • fn 的参数:value, index, array

    • 返回值:fn 返回值为 true 的元素组成的新数组,不改变原数组

    • 其他

      fn 执行过程中,数组如果新增元素,fn 不会执行该元素

      fn 执行过程中,数组如果修改,fn 会获取该修改

  • arr.map(fn)

    • fn 的参数:value, index, array
    • 返回值:返回每次 fn 执行后返回的值组成的新数组,不改变原数组
  • arr.some(fn)

    • fn 的参数:value,index,array
    • 返回值:如果各个元素执行 fn 时,有一个返回 true,则 some 函数返回 true;否则返回 false
  • arr.every(fn)

    • fn 的参数:value,index,array
    • 返回值:如果各个元素执行 fn 时,有一个返回 false,则 every 返回 false;如果全部返回 true,则 every 返回 true
  • arr.indexOf(searchElement, startIndex)arr.lastIndexOf(searchElement, startIndex)

    • searchElement 是要查找的值
    • startIndex 可以为 -1,即最后一个元素开始
    • 返回值:值的索引;找不到的话,返回 -1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions