函操作数 函数说明 示例
    Array.of() Array.of方法用于将一组值,转换为数组。(可替代Array构造函数,这个方法的主要目的,是弥补数组构造函数Array()的不足) Array.of() // []
    Array.of(undefined) // [undefined]
    Array.of(1) // [1]
    Array.of(1, 2) // [1, 2]
    pop() 删除一个数组中的最后的一个元素 let a = [1,2,3];
    let item = a.pop(); ``// 3
    console.log(a); // [1,2]
    shift() 删除数组的第一个元素 let a = [1,2,3];
    let item = a.shift(); ``// 1
    console.log(a); ``// [2,3]
    push() 向数组的末尾添加一个或多个元素,并返回新的长度。 let a = [1,2,3];
    let item = a.push(``'末尾'``); ``// 4
    console.log(a); ``// [1,2,3,'末尾']
    unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 let a = [1,2,3];
    let item = a.unshift(``'开头'``); ``// 4
    console.log(a); ``// ['开头',1,2,3]
    reverse() 颠倒数组中元素的顺序 let a = [1,2,3];
    a.reverse();
    console.log(a); ``// [3,2,1]
    splice() 向/从数组中添加/删除项目,然后返回被删除的项目。
    array.splice(index,howmany,item1,…..,itemX)
    参数:
    1. index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    2. howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    3. item1, …, itemX: 可选。向数组添加的新项目。

    返回值: 如果有元素被删除,返回包含被删除项目的新数组。 | image.png
    该方法比较灵活,适用于向数组中间位置插入或删除元素 | | sort() | 对数组元素进行排序,并返回这个数组。
    1、不传参
    默认情况下sort()方法没有传比较函数的话,默认按字母升序,如果不是元素不是字符串的话,会调用toString()方法将元素转化为字符串的Unicode(万国码)位点,然后再比较字符。
    2、传入比较函数
    sort的比较函数有两个默认参数,要在函数中接收这两个参数,这两个参数是数组中两个要比较的元素,通常我们用 a 和 b 接收两个将要比较的元素:
    - 若比较函数返回值<0,那么a将排到b的前面;
    - 若比较函数返回值=0,那么a 和 b 相对位置不变;
    - 若比较函数返回值>0,那么b 排在a 将的前面;
    | image.png
    可以满足单条件、多条件对比排序 | | join() | 把数组中的所有元素通过指定的分隔符进行分隔放入一个字符串,返回生成的字符串。默认使用逗号作为分隔符。 | | | concat() | 用于合并两个或多个数组,返回一个新数组。可以使用ES6扩展用算符…替代。 | let a = [1, 2, 3];
    let b = [4, 5, 6];
    let newVal=a.concat(b);
    // 连接三个数组
    let c = [7, 8, 9]
    let newVal2 = a.concat(b, c);

    let a = [2, 3, 4, 5]
    let b = [ 4,...a, 4, 4] | | indexOf() | 在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
    array.indexOf(searchElement,fromIndex)
    注意:数组的indexOf搜索跟字符串的indexOf不一样,数组的indexOf使用严格相等===搜索元素,即数组元素要完全匹配才能搜索成功。 | let a=[``'啦啦'``,2,4,24,NaN]
    console.log(a.indexOf(``'啦'``));``
    console.log(a.indexOf(``'NaN'``)); ``
    console.log(a.indexOf(``'啦啦'``)); | | lastIndexOf() | 方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。
    array.lastIndexOf(searchElement,fromIndex)
    参数:
    searchElement(必须): 被查找的元素
    fromIndex(可选): 逆向查找开始位置,默认值数组的长度-1,即查找整个数组。 | 关于fromIndex有三个规则:
    1. 正值。如果该值大于或等于数组的长度,则整个数组会被查找。
    2. 负值。将其视为从数组末尾向前的偏移。(比如-2,从数组最后第二个元素开始往前查找)
    3. 负值。其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。
    | | forEach() | 定义: 遍历数组中的每一项执行一次回调函数。
    语法:
    array.forEach(function(currentValue, index, arr), thisValue)
    参数:
    function(必须): 数组中每个元素需要调用的函数。> // 回调函数的参数

    1. currentValue(必须),数组当前元素的值
    2. index(可选), 当前元素的索引值
    3. arr(可选),数组对象本身

    thisValue(可选): 当执行回调函数时this绑定对象的值,默认值为undefined | 1、无法中途退出循环,只能用return退出本次回调,进行下一次回调。
    2、它总是返回 undefined值,即使你return了一个值。 | | filter() | 返回一个新数组, 其包含通过所提供函数实现的测试的所有元素。
    语法:
    let new_array = arr.filter(function(currentValue, index, arr), thisArg) | | | map() | 对数组中的每个元素进行处理,返回新的数组。
    定义:创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
    语法:
    let new_array = arr.map(function(currentValue, index, arr), thisArg) | | | keys() | 遍历下标 | for (let index of [``'a'``, ``'b'``].keys()) {
    ``console.log(index);
    }
    // 0、1 | | values() | 遍历键值 | for (let elem of [``'a'``, ``'b'``].values()) {
    ``console.log(elem);
    }
    // 'a'、'b' | | entries() | 遍历下标+键值 | for (let [index, elem] of [``'a'``, ``'b'``].entries()) {
    ``console.log(index, elem);
    }
    // 0 "a"
    // 1 "b" |