JavaScript数组API

        let arr1=[1,2,3,4];
        let arr2=[5,6,7,8];
       //push()元素直接添加到末尾,可以添加多个元素
       //pop()删除数组末尾第一个元素
       //unshift()在数组开头插入值,可以添加多个元素
       //shift()在数组开头删除第一个值

       //splice()
       // arr.splice(1, 0, 3, 3, 2, 11);//从索引1开始插入元素,覆盖0个,分别插入3,3,2,11 如果是0,则默认没有结束索引值
       // arr.splice(1, 3)   //删除元素,从索引1开始,删除3个

       //slice(start,end) 返回截取后的数组;[start,end) 类似字符串中的subString

       //concat可以合并多个数组,也可以合并字符串
       //arr2=arr2.concat(arr1) //1-8,a

        let numbers = [1, 2, 4, 6];
        const isEven = x => x % 2;
        //使用every方法迭代,迭代每个元素,直到返回false;如果都为true,则返回true
        console.log(numbers.every(isEven));
        //使用some方法迭代,迭代每个元素,直到返回true;如果都为false,则返回false
        console.log(numbers.some(isEven));
        //使用foreach方法迭代输出每个数组的值 (value,index,arr)
        numbers.forEach(x => console.log(x));
        //使用map方法迭代,迭代每个元素,返回一个数组,存储每个元素的值
        console.log(numbers.map(isEven));
        //使用filter方法迭代,返回的数组值都由true元素组成
        console.log(numbers.filter(isEven));

        //使用reduce方法迭代,对一个数组中的所有元素求和
        console.log(numbers.reduce((previous, current) => previous + current));

        //使用form方法复制数组
        //Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
        let arr2 = Array.from(numbers);

        //Array.of()方法 复制数组
        let arr3 = Array.of(3)

        //Array.fill() value用来填充数组元素的值。start起始索引 可选;end结束索引 可选
        //创建数组并初始化值的时候,fill方法非常好用,就像下面这样
        let arr4 = Array(6).fill(1);

        // copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。'
        const array1 = ['a', 'b', 'c', 'd', 'e'];
        // copy to index 0 the element at index 3
        console.log(array1.copyWithin(0, 3, 4));
        // expected output: Array ["d", "b", "c", "d", "e"]

        // 查找
        function doSth(element) {
            return element % 2 == 0
        }
        console.log(numbers.find(doSth)); //返回值 2
        console.log(numbers.findIndex(doSth)); //返回索引 1
        console.log(numbers.includes(2));//1.要查询的值,2.startIndex 返回Boolean值
posted @ 2021-10-24 15:00  yongerbingxuan  阅读(25)  评论(0)    收藏  举报