Skip to content

JavaScript

[TOC]

Array

静态方法

  • Array.from()(arrayLike,mapFn?,thisArg?)静态方法,用于将类数组对象可迭代对象转换为真正的数组,并支持对元素进行映射处理。
  • Arrary.of()(el1, el2, ..., elN?)ES2015静态方法,用于创建包含可变数量参数的新数组,解决传统 Array() 构造函数在处理单个数值参数时的歧义问题
  • Array.isArray()(value)静态方法,用来判断一个变量是否为数组的方法。

属性

  • array.lengthnumber获取或设置数组的长度,直接反映数组中元素的数量(或最大索引加1)。

方法

构造方法

  • new Array()(),用于创建数组的构造函数。行为根据参数类型和数量的不同而变化,生成密集数组或稀疏数组。

修改原数组

  • arr.push()(el1, el2, ..., elN?)修改原数组,用于在数组的末尾添加一个或多个元素,并返回新的数组长度。
  • arr.pop()()修改原数组,用于移除数组的最后一个元素,并返回该元素的值。
  • arr.shift()()修改原数组,用于删除数组的第一个元素,并返回该元素,同时改变原数组的长度。
  • arr.unshift()(el1, el2, ..., elN?)修改原数组,用于在数组的开头添加一个或多个元素,并返回新的数组长度。
  • array.splice()(start,deleteCount?,item1?,item2?,...)修改原数组,可以删除、替换或添加元素。返回被删除的元素组成的数组。
  • arr.sort()(compareFn?)修改原数组,用于对数组的元素进行排序
  • arr.reverse()()修改原数组,用于将数组中的元素顺序颠倒的方法。
  • arr.fill()(value,start?,end?)修改原数组,用于填充数组。从 startend-1 的元素被替换为 value

访问方法

  • array.concat()(value1?, value2?, ...)纯函数,用于合并数组或值,返回新数组。
  • array.slice(start?,end?)纯函数,用于提取数组的一部分,返回新数组。
  • arr.join()(separator?)纯函数,用于将数组的元素连接成一个字符串
  • arr.at()(index?)ES2022,用于通过索引访问数组元素,支持负数索引。

搜索方法

  • arr.indexOf()(searchElement,fromIndex?),用于查找数组中指定元素的第一个匹配项的索引。若元素不存在,返回 -1
  • arr.lastIndexOf()(searchElement,fromIndex?),于从数组末尾向前搜索指定元素,返回元素最后一次出现的索引位置
  • arr.includes()(valueToFind,fromIndex?),用来判断数组是否包含某个元素,返回布尔值。
  • arr.find()(callbackFn,thisArg?)纯函数,用于查找数组中第一个满足条件的元素,返回该元素的值,若未找到则返回 undefined
  • arr.findIndex()(callbackFn,thisArg?)纯函数,用于查找数组中满足条件的第一个元素的索引,没有找到则返回-1

迭代方法

  • arr.forEach()(callbackFn,thisArg?),用于遍历数组中的每个元素,并对每个元素执行一个回调函数。
  • arr.map()(callbackFn,thisArg?)纯函数,用于对数组的每个元素执行转换操作,生成一个新数组
  • arr.filter()(callbackFn,thisArg?)纯函数,用于筛选数组元素,返回一个新数组,包含所有通过测试的元素
  • arr.reduce()(callbackFn,initialValue?),用于将数组元素依次累积处理,最终合并为单个值。
  • arr.some()(callbackFn,thisArg?)纯函数,用于检测数组中是否存在至少一个元素满足指定条件,返回布尔值。
  • arr.every()(callbackFn,thisArg?)纯函数,用于检测数组中的所有元素是否都满足指定条件,返回布尔值。

扁平化方法

  • arr.flat()(depth?)ES2019纯函数,用于将嵌套的多维数组“拉平”为一维或多维数组,返回一个新数组。
  • arr.flatMap()(callback,thisArg?)ES2019,将映射(map)和扁平化(flat)操作合并为一步

迭代器方法

  • arr.entries()(),用来返回一个新的数组迭代器对象,包含数组中每个索引的键值对
  • arr.keys()()ES2015,用来获取数组索引的迭代器
  • arr.values()()ES2015,用来获取数组元素值的迭代器

Function

属性

  • function.namestring只读,返回函数定义时的名称,推断规则因定义方式而异。适用于调试、反射(获取函数名)等场景。
  • function.lengthnumber,表示函数声明时定义的形参数量。它不会将默认参数之后的参数剩余参数计算在内。
  • function.arguments类数组对象已废弃,用于在函数内部访问函数执行时传入的参数列表,它是一个类数组对象
  • function.prototypeobject,是所有函数对象的原型对象。它定义了函数实例继承的默认属性和方法。

方法

  • function.call()(thisArg,arg1?,arg2?,...),用于显式调用一个函数,并动态指定函数执行时的 this 值及参数列表。
  • function.apply()(thisArg,args?),用于显式调用一个函数,并动态指定函数执行时的 this 值及参数列表。
  • function.bind()(thisArg,arg1?,arg2?,...),用于创建一个新的函数,该函数在调用时会以指定的 this 值和预先提供的参数作为默认参数。
  • function.toString()(),用于获取函数源代码字符串表示的方法。它返回函数的完整定义,包括参数、函数体和语法结构。