JavaScript
[TOC]
Array
静态方法:
- Array.from():
(arrayLike,mapFn?,thisArg?)
,静态方法,用于将类数组对象或可迭代对象转换为真正的数组,并支持对元素进行映射处理。 - Arrary.of():
(el1, el2, ..., elN?)
,ES2015,静态方法,用于创建包含可变数量参数的新数组,解决传统Array()
构造函数在处理单个数值参数时的歧义问题。 - Array.isArray():
(value)
,静态方法,用来判断一个变量是否为数组的方法。
属性:
- array.length:
number
,获取或设置数组的长度,直接反映数组中元素的数量(或最大索引加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?)
,修改原数组,用于填充数组。从start
到end-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.name:
string
,只读,返回函数定义时的名称,推断规则因定义方式而异。适用于调试、反射(获取函数名)等场景。 - function.length:
number
,表示函数声明时定义的形参数量。它不会将默认参数之后的参数、剩余参数计算在内。 - function.arguments:
类数组对象
,已废弃,用于在函数内部访问函数执行时传入的参数列表,它是一个类数组对象。 - function.prototype:
object
,是所有函数对象的原型对象。它定义了函数实例继承的默认属性和方法。
方法:
- function.call():
(thisArg,arg1?,arg2?,...)
,用于显式调用一个函数,并动态指定函数执行时的 this 值及参数列表。 - function.apply():
(thisArg,args?)
,用于显式调用一个函数,并动态指定函数执行时的 this 值及参数列表。 - function.bind():
(thisArg,arg1?,arg2?,...)
,用于创建一个新的函数,该函数在调用时会以指定的 this 值和预先提供的参数作为默认参数。 - function.toString():
()
,用于获取函数源代码字符串表示的方法。它返回函数的完整定义,包括参数、函数体和语法结构。