js中数组常见的操作方法

2021-05-20  本文已影响0人  男人宫

数组中push,pop,shift,unshift,join,splice,sort,reverse,concat,forEach这些不再补充

<script>
        const arr = [1, 2, 3, 4];
        //按照对应位置,从数组中取值,然后赋值给变量,数组的解构赋值
        [a, b, c, d] = arr;
        console.log(a);
        console.log("d的值是====", d);

        // 对象的解构赋值:
        //对象的解构和数组的不同,数组是有位置顺序的,只要位置一样就可以解构赋值,而对象的话必须变量和属性的值一样才可以解构赋值.如果解构失败,则返回undefined
        let {
            obj1,
            obj2,
            obj3
        } = {
            obj1: "小张",
            obj2: 45,
            obj3: {
                name: "孩子",
                age: 5
            }
        }
        console.log(obj1);
        console.log(obj2);
        console.log(obj3.name);
        console.clear;

        // Array.isArray() 判断一个变量是否是数组类型
        (function(a, b) {
            console.log(Array.isArray(arguments));
            console.log(arguments);
            let arr = Array.from(arguments);
            console.log(arr);
            arr.push(7);
            console.log(arr);
        }(2, 3));

        //Array.of() 将一组数据转化为数组
        let arr0 = Array(1);
        console.log(arr0);
        let arr1 = Array.of(1, 2, 3);
        console.log(arr1);
        // 数组.forEach(function(){value,index,arr}) 数组的遍历,没有返回值
        arr.forEach(function(value, index) {
            console.log(value, "---", index);
        });
        //.数组map()方法也叫数组的映射,通过特定条件,返回一个新的数组的方法
        //对数组的每一项运行给定函数返回的数据集合.map()会返回一个新的数组,原来的数组不变
        var newarr = arr.map(function(item) {
            return item * 2;
        });
        console.log(newarr);
        //fliter()  数组.filter()方法  数组的过滤,选择出符合的值,组成一个新的数组,原来的数组不变
        let filterArr = arr.filter(function(item) {
            //注意:需要返回一个boolean的表达式
            return item % 2 == 0;
        });
        console.log(filterArr);
        //数组.find() 找到都一个符合的数组元素
        let objj = arr.find(function(item) {
            return item % 2 == 0;
        });
        console.log(objj);
        //数组.findIndex() 找到第一个符合元素所在位置的索引,如果没有找到则返回-1
        let index = arr.findIndex(function(item) {
            return item > 10;
        })
        console.log(index);
        //arr.every() 对数组的每一项  运行给定函数,如果都满足条件则返回true,否则返回false
        let ist = arr.every(function(item) {
            return item < 3;
        });
        console.log(ist);
        //arr.some() 对数组的每一项 运行给定行数,只要有一项满足就返回true,如果都不满足则返回false
        let isf = arr.some(function(item) {
            return item > 3;
        })
        console.log(isf);
        //arr.includes() 判断数组是否包含指定的值,如果包含返回true,否则返回false
        let isc = arr.includes(5);
        console.log(isc);
        //arr.reduce() 一般用于数组元素的累计计算.将前一项与后一项进行运算,返回累积的结果再作为前一项继续运算
        //arr.reduce(function(){前一项,当前项},初始值); 注意:在第一次循环时,初始值其实也即是前一项的值
        let total = arr.reduce(function(pre, current) {
            return pre + current;
        }, 0);
        console.log(total);
    </script>
上一篇 下一篇

猜你喜欢

热点阅读