
JavaScript常用方法整理
本文最后更新于 2024-05-30,文章内容可能已经过时。
Array 对象方法
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
copyWithin() | 从数组的指定位置拷贝元素到数组的另一个指定位置中。 |
entries() | 返回数组的可迭代对象。 |
every() | 检测数值元素的每个元素是否都符合条件。 |
fill() | 使用一个固定值来填充数组。 |
filter() | 检测数值元素,并返回符合条件所有元素的数组。 |
find() | 返回符合传入测试(函数)条件的数组元素。 |
findIndex() | 返回符合传入测试(函数)条件的数组元素索引。 |
forEach() | 数组每个元素都执行一次回调函数。 |
from() | 通过给定的对象中创建一个数组。 |
includes() | 判断一个数组是否包含一个指定的值。 |
indexOf() | 搜索数组中的元素,并返回它所在的位置。 |
join() | 把数组的所有元素放入一个字符串。 |
keys() | 返回数组的可迭代对象,包含原始数组的键(key)。 |
lastIndexOf() | 搜索数组中的元素,并返回它最后出现的位置。 |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
pop() | 删除数组的最后一个元素并返回删除的元素。 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reduce() | 将数组元素计算为一个值(从左到右)。 |
reduceRight() | 将数组元素计算为一个值(从右到左)。 |
reverse() | 反转数组的元素顺序。 |
shift() | 删除并返回数组的第一个元素。 |
slice() | 选取数组的一部分,并返回一个新数组。 |
some() | 检测数组元素中是否有元素符合指定条件。 |
sort() | 对数组的元素进行排序。 |
splice() | 从数组中添加或删除元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
Array.isArray() | 判断对象是否为数组。 |
arr.concat()
作用:
连接两个或更多的数组,并返回结果。
签名:
(method) Array<number>.concat(...items: ConcatArray<number>[]): number[]
例子:
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
let ls = [9, 10]
nums.concat(ls) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.copyWithin()
作用:
从数组的指定位置拷贝元素到数组的另一个指定位置中。
签名:
// start 默认为 0,end 默认为 array.length
(method) Array<number>.copyWithin(target: number, start?: number | undefined, end?: number | undefined): number[]
例子:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
// 以下代码是将整个数组的内容一个复制到位置4上,即:将 [1, 2, 3, 4, 5, 6, 7, 8] 复制到位置4上。暂且给这个数组起名叫做 tmp,方便和 nums 做区分。
// 复制会覆盖原有内容,且不会改变数组长度,多余的部分会被丢弃。所以 tmp 的 [1, 2, 3, 4] 会覆盖掉 nums 的 [5, 6, 7, 8],而 tmp 的 [5, 6, 7, 8] 会因为超出数组长度而被丢弃。
nums.copyWithin(4) // [1, 2, 3, 4, 1, 2, 3, 4]
nums.copyWithin(0,4) // [5, 6, 7, 8, 5, 6, 7, 8]
// 当传递 end 参数时,复制的范围是 start 到 end-1,end 本身并不在范围内。如下面的 start = 3,end = 5 复制的内容就是 [4, 5],不包括6
nums.copyWithin(0, 3, 5) // [4, 5, 3, 4, 5, 6, 7, 8]
arr.entries()
作用:
返回数组的可迭代对象。
签名:
(method) Array<number>.entries(): IterableIterator<[number, number]>
例子:
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
let x = nums.entries()
x.next().value // [ 0, 1 ]
x.next().value // [ 1, 2 ]
x.next().value // [ 2, 3 ]
x.next().value // [ 3, 4 ]
for (const iterator of x) {
console.log(iterator);
}
// 因为前面已经next四次了,所以for循环从第五个开始。
// [ 4, 5 ]
// [ 5, 6 ]
// [ 6, 7 ]
// [ 7, 8 ]
arr.every()
作用:
检测数值元素的每个元素是否都符合条件。
签名:
(method) Array<number>.every(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean
例子:
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.every(item => item > 0) // true
arr.fill()
作用:
使用一个固定值来填充数组。
签名:
(method) Array<number>.fill(value: number, start?: number | undefined, end?: number | undefined): number[]
例子:
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.fill(0) // [0, 0, 0, 0, 0, 0, 0, 0]
nums.fill(0,4) // [1, 2, 3, 4, 0, 0, 0, 0]
nums.fill(0,0,4) // [0, 0, 0, 0, 5, 6, 7, 8]
arr.filter()
作用:
检测数值元素,并返回符合条件所有元素的数组。
签名:
(method) Array<number>.filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]
例子:
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.filter(item => item > 4) // [5, 6, 7, 8]
arr.find()
作用:
返回符合传入测试(函数)条件的第一个数组元素。如果没有符合条件的元素返回 undefined。
签名:
TS
(method) Array<number>.find(predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.find(item => item > 4) // 5
arr.findIndex()
作用:
返回符合传入测试(函数)条件的第一个数组元素索引。如果没有符合条件的元素返回 -1。
签名:
TS
(method) Array<number>.findIndex(predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.find(item => item > 4) // 4
arr.forEach()
作用:
数组每个元素都执行一次回调函数。
签名:
TS
(method) Array<number>.forEach(callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any): void
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.forEach(item => console.log(item))
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
arr.from()
作用:
通过给定的对象中创建一个数组。
签名:
TS
(method) ArrayConstructor.from<number>(iterable: Iterable<number> | ArrayLike<number>): number[]
例子:
JS
// 数组去重
let arr = Array.from(new Set([1, 2, 1, 2]))
console.log(arr)
// [1, 2]
arr.includes()
作用:
判断一个数组是否包含一个指定的值。
签名:
TS
(method) Array<number>.includes(searchElement: number, fromIndex?: number | undefined): boolean
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.includes(1); // true
nums.includes(10); // false
nums.includes(1, 1) // false
arr.indexOf()
作用:
搜索数组中的元素,并返回它所在的位置。
签名:
TS
(method) Array<number>.indexOf(searchElement: number, fromIndex?: number | undefined): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.indexOf(5); // 4
nums.indexOf(5, 5); // -1
arr.join()
作用:
把数组的所有元素放入一个字符串。
签名:
TS
(method) Array<number>.join(separator?: string | undefined): string
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.join(); // 1,2,3,4,5,6,7,8
nums.join('-'); // 1-2-3-4-5-6-7-8
arr.keys()
作用:
返回数组的可迭代对象,包含原始数组的键(key)。
签名:
TS
(method) Array<number>.keys(): IterableIterator<number>
例子:
JS
// 相较于entries(),key()只有索引,没有值。
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
for (const key of nums.keys()) {
console.log(nums[key]);
}
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
arr.lastIndexOf()
作用:
搜索数组中的元素,并返回它最后出现的位置。
签名:
TS
(method) Array<number>.lastIndexOf(searchElement: number, fromIndex?: number | undefined): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 3]
nums.lastIndexOf(3); // 8
arr.map()
作用:
通过指定函数处理数组的每个元素,并返回处理后的数组。
签名:
TS
//
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.map(item => item + 1); // [2, 3, 4, 5, 6, 7, 8, 9]
arr.pop()
作用:
删除数组的最后一个元素并返回删除的元素。
签名:
TS
(method) Array<number>.pop(): number | undefined
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.pop() // 8
console.log(nums)
// [1, 2, 3, 4, 5, 6, 7]
arr.push()
作用:
向数组的末尾添加一个或更多元素,并返回新的长度。
签名:
TS
(method) Array<number>.push(...items: number[]): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.push(9, 10) // 10
console.log(nums);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.reduce()
作用:
将数组元素计算为一个值(从左到右)。
签名:
TS
(method) Array<number>.reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reduce((sum, now) => sum + now) // 36
arr.reduceRight()
作用:
将数组元素计算为一个值(从右到左)。
签名:
TS
(method) Array<number>.reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reduceRight((sum, now) => sum + now) // 36
arr.reverse()
作用:
反转数组的元素顺序。
签名:
TS
(method) Array<number>.reverse(): number[]
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reverse() // [8, 7, 6, 5, 4, 3, 2, 1]
arr.shift()
作用:
删除并返回数组的第一个元素。
签名:
TS
(method) Array<number>.shift(): number | undefined
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.shift()
console.log(nums)
// [2, 3, 4, 5, 6, 7, 8]
arr.slice()
作用:
选取数组的一部分,并返回一个新数组。
签名:
TS
(method) Array<number>.slice(start?: number | undefined, end?: number | undefined): number[]
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.slice(0, 2) // [1, 2]
nums.slice(6) // [7, 8]
arr.some()
作用:
检测数组元素中是否有元素符合指定条件。
签名:
TS
(method) Array<number>.some(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.some(item => item > 7) // true
nums.some(item => item > 8) // false
arr.sort()
作用:
对数组的元素进行排序。
签名:
TS
(method) Array<number>.sort(compareFn?: ((a: number, b: number) => number) | undefined): number[]
例子:
JS
let nums = [5, 4, 3, 6, 2, 1, 7, 8]
nums.sort() // [1, 2, 3, 4, 5, 6, 7, 8]
nums.sort((a, b) => a - b) // [1, 2, 3, 4, 5, 6, 7, 8]
nums.sort((a, b) => b - a) // [8, 7, 6, 5, 4, 3, 2, 1]
arr.splice()
作用:
从数组中添加或删除元素。
签名:
TS
(method) Array<number>.splice(start: number, deleteCount?: number | undefined): number[]
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
// 只传一个参数时会删除这个索引之后的所有元素,这里删除8
nums.splice(7); // [8]
// [1, 2, 3, 4, 5, 6, 7]
// 从0开始删除两个元素
nums.splice(0, 2); // [1, 2]
// [3, 4, 5, 6, 7]
// 在0位置添加1,2
nums.splice(0, 0, 1, 2); // []
// [1, 2, 3, 4, 5, 6, 7]
arr.toString()
作用:
把数组转换为字符串,并返回结果。
签名:
TS
(method) Array<number>.toString(): string
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.toString() // 1,2,3,4,5,6,7,8
arr.unshift()
作用:
向数组的开头添加一个或更多元素,并返回新的长度。
签名:
TS
(method) Array<number>.unshift(...items: number[]): number
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.unshift(0) // 9
// [1, 2, 3, 4, 5, 6, 7, 8]
Array.isArray()
作用:
判断对象是否为数组。
签名:
TS
(method) ArrayConstructor.isArray(arg: any): arg is any[]
例子:
JS
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
Array.isArray(nums); // true
String 对象方法
方法 | 描述 |
---|---|
charAt() | 返回在指定位置的字符。 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 |
concat() | 连接两个或更多字符串,并返回新的字符串。 |
endsWith() | 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。 |
fromCharCode() | 将 Unicode 编码转为字符。 |
indexOf() | 返回某个指定的字符串值在字符串中首次出现的位置。 |
includes() | 查找字符串中是否包含指定的子字符串。 |
lastIndexOf() | 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 |
match() | 查找找到一个或多个正则表达式的匹配。 |
repeat() | 复制字符串指定次数,并将它们连接在一起返回。 |
replace() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。 |
replaceAll() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。 |
search() | 查找与正则表达式相匹配的值。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割为字符串数组。 |
startsWith() | 查看字符串是否以指定的子字符串开头。 |
substr() | 从起始索引号提取字符串中指定数目的字符。 |
substring() | 提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() | 把字符串转换为小写。 |
toUpperCase() | 把字符串转换为大写。 |
trim() | 去除字符串两边的空白。 |
toLocaleLowerCase() | 根据本地主机的语言环境把字符串转换为小写。 |
toLocaleUpperCase() | 根据本地主机的语言环境把字符串转换为大写。 |
valueOf() | 返回某个字符串对象的原始值。 |
toString() | 返回一个字符串。 |
Number 对象方法
方法 | 描述 |
---|---|
isFinite() | 检测指定参数是否为无穷大。 |
isInteger() | 检测指定参数是否为整数。 |
isNaN() | 检测指定参数是否为 NaN。 |
isSafeInteger() | 检测指定参数是否为安全整数。 |
toExponential() | 把对象的值转换为指数计数法。 |
toFixed() | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toLocaleString(locales, options) 返回数字在特定语言环境下的表示字符串。 | |
toPrecision() | 把数字格式化为指定的长度。 |
toString() | 把数字转换为字符串,使用指定的基数。 |
valueOf() | 返回一个 Number 对象的基本数字值。 |
Date 对象方法
方法 | 描述 |
---|---|
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
setTime() | 以毫秒设置 Date 对象。 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCSeconds() | 用于根据世界时 (UTC) 设置指定时间的秒字段。 |
toDateString() | 把 Date 对象的日期部分转换为字符串。 |
toISOString() | 使用 ISO 标准返回字符串的日期格式。 |
toJSON() | 以 JSON 数据格式返回日期字符串。 |
toLocaleDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleString() | 根据本地时间格式,把 Date 对象转换为字符串。 |
toString() | 把 Date 对象转换为字符串。 |
toTimeString() | 把 Date 对象的时间部分转换为字符串。 |
toUTCString() | 根据世界时,把 Date 对象转换为字符串。 |
Math 对象方法
方法 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值。 |
acos(x) | 返回 x 的反余弦值。 |
asin(x) | 返回 x 的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 | |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 Ex 的指数。 |
floor(x) | 对 x 进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y,z,…,n) 返回 x,y,z,…,n 中的最高值。 | |
min(x,y,z,…,n) 返回 x,y,z,…,n中的最低值。 | |
pow(x,y) 返回 x 的 y 次幂。 | |
random() 返回 0 ~ 1 之间的随机数。 | |
round(x) | 四舍五入。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
tanh(x) | 返回一个数的双曲正切函数值。 |
trunc(x) | 将数字的小数部分去掉,只保留整数部分。 |
文章作者: Leonus
- 感谢你赐予我前进的力量