数组
Array.from()
用于将类数组结构转换为数组实例:
第一个参数是一个类数组对象,即任何可迭代的结构或者有一个length属性和可索引元素的结构。
第二个可选的映射函数参数,这个函数可以直接增强新数组的值。
第三个可选参数用于指定映射函数中 this 的值 (箭头函数无法使用)。

将Set结构的数据转换为真正的数组:

Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

将字符串转换为数组:

Array.of()
可以把一组参数转换为数组:
这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。并且不存在由于参数不同而导致的重载,它的行为非常统一。
Array.fill()
向一个已有的数组中插入全部或部分相同的值:
第一个参数是需要填充的值
第二个参数是开始索引,可选,不选的话从0开始
第三个参数是结束索引,可选,不选的话到末尾结束
索引为负的话从数组末尾开始计算索引,也可以将负索引想象成数组长度加上它得到的一个正索引

Array.copyWithin()
按照指定范围浅复制数组中的部分内容,然后将它们插入到指定索引开始的位置
从数组的指定位置拷贝元素到数组的另一个指定位置中,返回修改后的数组,不会改变数组的长度。

Array.valueOf()
返回数组

Array.toString()
返回由每个值的等效字符串拼接而成的一个逗号分隔的字符串

Array.toLocaleString()
得到一个逗号分隔的数组值的字符串

Array.join()
将数组的所有元素连接成一个字符串

push()和pop()
前者可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。后者数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。

shift()和unshift()
前者删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。后者将参数添加到原数组开头,并返回数组的长度 。

reverse()
反转数组的元素顺序

sort()
按升序排列数组项——即最小的值位于最前面,最大的值排在最后面

Array.concat()
合并两个数组并返回新的合并后的数组

Array.slice()
返回从原数组中指定开始下标到结束下标之间的项组成的新数组

Array.splice()
删除:可以删除任意数量的项,只需指定 2 个参数:要删除的第一项的位置和要删除的项数。
插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。
替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。
splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。

Array.indexOf()和Array.lastdexOf()
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。

Array.find()和Array.findex()
前者返回第一个匹配的元素,后者返回第一个匹配元素的索引,且都是从最小的索引开始。

Array.forEach()
对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。

Array.map()
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

Array.filter()
数组中的每一项运行给定函数,返回满足过滤条件组成的数组。

Array.every()
判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。

Array.some()
判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。

Array.reduce()和Array.reduceRight()
前者方法从数组的第一项开始,逐个遍历到最后。后者 则从数组的最后一项开始,向前遍历到第一项。

字符串
includes()/startsWith()/endsWith()
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

repeat()
构造并返回一个新字符串,表示将原字符串重复 n 次,并不会改变原字符串。

padStart()/padEnd()
前者用于头部补全,后者用于尾部补全。

trimStart()/trimEnd()
前者消除字符串头部的空格,后者消除尾部的空格。
