创建数组

排序:Array.prototype.sort()

升序排列写法:

    arr.sort(function (a, b) {
        return a - b;
    })

降序排列写法:

    arr.sort(function (a, b) {
        return b - a;
    })

Array.prototype.slice()

slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.slice(0,2);
    console.log(b)//1,2
    let a = [1, 2, 3, 4, 5, 6];
    let b = a.slice(0);
    console.log(b)//1,2,3,4,5,6
    let a = [1, 2, 3, 4, 5, 6];
    let b = a.slice(-2);
    console.log(b)//5,6

(2,-1)中的-1指的是以倒数第二个为结尾。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.slice(2,-1);
    console.log(b)//3,4,5

Array.prototype.concat()

concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

    let a = [1, 2, 3];
    let b = [0, 5, 6];
    let c = a.concat(b)
    console.log(c)

Snipaste_2022-04-28_12-04-43.png

Array.prototype.every()

every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

    let a = [1, 2, 3, 4, 5, 6];
    const func = (val) => val < 3;
    let res = a.every(func);
    console.log(res)

Snipaste_2022-04-28_13-09-16.png

Array.prototype.some()

some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。只要有一个为true,就返回true

    let b = [1, 2, 3, 4, 5, 6];
    let res1 = b.some(function (val){
        return val>6
    })
    console.log(res1)//true

    let a = [1, 2, 3, 4, 5, 6];
    let res2 = a.some(function (val){
        return val>6
    })
    console.log(res2)//false

Array.prototype.reduce()

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    let a = [1, 2, 3, 4, 5, 6];
    var res = a.reduce(function (total, value) {
        return total + value;
    })
    console.log(res)//21

过滤器:Array.prototype.filter()

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.filter(value => value>3);
    console.log(b)//[4,5,6]

Array.prototype.find()

find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.find(value => value>3);
    console.log(b)//4

Array.prototype.findIndex()

find()方法返回数组中满足提供的测试函数的第一个元素的下表。否则返回 -1。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.findIndex(value => value>3);
    console.log(b)//4

平铺:Array.prototype.flat()

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

    let a = [1,[2,[3,[4,[5]]]]]
    let b = a.flat(Infinity)
    console.log(b)//[1,2,3,4,5]

Array.prototype.forEach()

forEach() 方法对数组的每个元素执行一次给定的函数。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.forEach(val => console.log(val));

Snipaste_2022-04-28_14-47-28.png

Array.prototype.includes()

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.includes(1);
    console.log(b);//true

Array.prototype.indexOf()

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.indexOf(1);
    console.log(b);//0

Array.prototype.join()

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.join(",");
    console.log(b);//1,2,3,4,5,6

Array.prototype.map()

map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.map(val => val * 2);
    console.log(b)//[2,4,6,8,10,12]

Array.prototype.splice()

splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。
此方法会改变原数组。

    let a = [1, 2, 3, 4, 5, 6];
    let b = [1, 2, 3, 4, 5, 6];
    //在下表为1的元素后面删除0个,然后加入999
    a.splice(1,0,999);
    console.log(a);//[1,2,999,3,4,5,6]
    //在下标为4的元素后面删除一个,然后加入888
    //也就是把下表为4的元素(也就是数字5)后面的一个元素替换为888
    b.splice(4,1,888);
    console.log(b);//[1,2,3,4,888,6]

Array.prototype.toString()

toString() 返回一个字符串,表示指定的数组及其元素。

    let a = [1, 2, 3, 4, 5, 6];
    let str = a.toString();
    console.log(str)//1,2,3,4,5,6

Array.prototype.shift()

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

    let a = [1, 2, 3, 4, 5, 6];
    let b = a.shift();
    console.log(a); //[2,3,4,5,6]
    console.log(b); //1(被删除的元素)

Array.prototype.unshift()

unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。

    let a = [1, 2, 3, 4, 5, 6];
    console.log(a.unshift(999))//7
    console.log(a)//[999,1,2,3,4,5,6]