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()

作用:
连接两个或更多的数组,并返回结果。

签名:

1
(method) Array<number>.concat(...items: ConcatArray<number>[]): number[]

例子:

1
2
3
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()

作用:
从数组的指定位置拷贝元素到数组的另一个指定位置中。

签名:

1
2
// start 默认为 0,end 默认为 array.length
(method) Array<number>.copyWithin(target: number, start?: number | undefined, end?: number | undefined): number[]

例子:

1
2
3
4
5
6
7
8
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()

作用:
返回数组的可迭代对象。

签名:

1
(method) Array<number>.entries(): IterableIterator<[number, number]>

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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()

作用:
检测数值元素的每个元素是否都符合条件。

签名:

1
(method) Array<number>.every(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.every(item => item > 0) // true

arr.fill()

作用:
使用一个固定值来填充数组。

签名:

1
(method) Array<number>.fill(value: number, start?: number | undefined, end?: number | undefined): number[]

例子:

1
2
3
4
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()

作用:
检测数值元素,并返回符合条件所有元素的数组。

签名:

1
(method) Array<number>.filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.filter(item => item > 4) // [5, 6, 7, 8]

arr.find()

作用:
返回符合传入测试(函数)条件的第一个数组元素。如果没有符合条件的元素返回 undefined。

签名:

1
(method) Array<number>.find(predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.find(item => item > 4) // 5

arr.findIndex()

作用:
返回符合传入测试(函数)条件的第一个数组元素索引。如果没有符合条件的元素返回 -1。

签名:

1
(method) Array<number>.findIndex(predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.find(item => item > 4) // 4

arr.forEach()

作用:
数组每个元素都执行一次回调函数。

签名:

1
(method) Array<number>.forEach(callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any): void

例子:

1
2
3
4
5
6
7
8
9
10
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()

作用:
通过给定的对象中创建一个数组。

签名:

1
(method) ArrayConstructor.from<number>(iterable: Iterable<number> | ArrayLike<number>): number[]

例子:

1
2
3
4
// 数组去重
let arr = Array.from(new Set([1, 2, 1, 2]))
console.log(arr)
// [1, 2]

arr.includes()

作用:
判断一个数组是否包含一个指定的值。

签名:

1
(method) Array<number>.includes(searchElement: number, fromIndex?: number | undefined): boolean

例子:

1
2
3
4
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()

作用:
搜索数组中的元素,并返回它所在的位置。

签名:

1
(method) Array<number>.indexOf(searchElement: number, fromIndex?: number | undefined): number

例子:

1
2
3
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.indexOf(5); // 4
nums.indexOf(5, 5); // -1

arr.join()

作用:
把数组的所有元素放入一个字符串。

签名:

1
(method) Array<number>.join(separator?: string | undefined): string

例子:

1
2
3
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)。

签名:

1
(method) Array<number>.keys(): IterableIterator<number>

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 相较于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()

作用:
搜索数组中的元素,并返回它最后出现的位置。

签名:

1
(method) Array<number>.lastIndexOf(searchElement: number, fromIndex?: number | undefined): number

例子:

1
2
3
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 3]

nums.lastIndexOf(3); // 8

arr.map()

作用:
通过指定函数处理数组的每个元素,并返回处理后的数组。

签名:

1
// 

例子:

1
2
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()

作用:
删除数组的最后一个元素并返回删除的元素。

签名:

1
(method) Array<number>.pop(): number | undefined

例子:

1
2
3
4
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()

作用:
向数组的末尾添加一个或更多元素,并返回新的长度。

签名:

1
(method) Array<number>.push(...items: number[]): number

例子:

1
2
3
4
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()

作用:
将数组元素计算为一个值(从左到右)。

签名:

1
(method) Array<number>.reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reduce((sum, now) => sum + now) // 36

arr.reduceRight()

作用:
将数组元素计算为一个值(从右到左)。

签名:

1
(method) Array<number>.reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reduceRight((sum, now) => sum + now) // 36

arr.reverse()

作用:
反转数组的元素顺序。

签名:

1
(method) Array<number>.reverse(): number[]

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.reverse() // [8, 7, 6, 5, 4, 3, 2, 1]

arr.shift()

作用:
删除并返回数组的第一个元素。

签名:

1
(method) Array<number>.shift(): number | undefined

例子:

1
2
3
4
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.shift()
console.log(nums)
// [2, 3, 4, 5, 6, 7, 8]

arr.slice()

作用:
选取数组的一部分,并返回一个新数组。

签名:

1
(method) Array<number>.slice(start?: number | undefined, end?: number | undefined): number[]

例子:

1
2
3
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.slice(0, 2) // [1, 2]
nums.slice(6) // [7, 8]

arr.some()

作用:
检测数组元素中是否有元素符合指定条件。

签名:

1
(method) Array<number>.some(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean

例子:

1
2
3
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.some(item => item > 7) // true
nums.some(item => item > 8) // false

arr.sort()

作用:
对数组的元素进行排序。

签名:

1
(method) Array<number>.sort(compareFn?: ((a: number, b: number) => number) | undefined): number[]

例子:

1
2
3
4
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()

作用:
从数组中添加或删除元素。

签名:

1
(method) Array<number>.splice(start: number, deleteCount?: number | undefined): number[]

例子:

1
2
3
4
5
6
7
8
9
10
11
12
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()

作用:
把数组转换为字符串,并返回结果。

签名:

1
(method) Array<number>.toString(): string

例子:

1
2
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.toString() // 1,2,3,4,5,6,7,8

arr.unshift()

作用:
向数组的开头添加一个或更多元素,并返回新的长度。

签名:

1
(method) Array<number>.unshift(...items: number[]): number

例子:

1
2
3
4
let nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums.unshift(0) // 9
// [1, 2, 3, 4, 5, 6, 7, 8]

Array.isArray()

作用:
判断对象是否为数组。

签名:

1
(method) ArrayConstructor.isArray(arg: any): arg is any[]

例子:

1
2
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) 将数字的小数部分去掉,只保留整数部分。