js数组方法总结

        <script>
            //原始数组
            var array = [1,2,3,4,5,6,7,8,9,0];
            
            //将数组的每一项用连接符连接成字符串
            var str = array.join('+');
            console.log('join:', str);
            
            //在数组末尾放入数组
            array.push(11);
            console.log('push', array);
            
            //在数组末尾删除数据,并返回删除的元素
            var num = array.pop();
            console.log('pop', array, num);
            
            //在数组开头插入数据
            var newArray = array.unshift(222,111);
            console.log('unshift', newArray);
            
            //在数据开头删除数据,并返回删除的元素
            num = array.shift();
            console.log('shift', array, num);
            
            //数组排序,默认比较字符串,对数组排序无效
            var newArray1 = array.sort();
            console.log('sort', newArray1);
            
            //数组排序,传入数字排序方法就可以实现数字排序
            var newArray2 = array.sort(compare);
            console.log('sort compare', newArray2);
            
            //数组反转,顺序颠倒
            var newArray3 = newArray2.reverse();
            console.log('reverse', newArray3);
            
            //添加数据到数组末尾,并返回新的数组
            var newArray4 = array.concat('mxh', ['mxh1', 'mxh2']);
            console.log('concat', newArray4);
            console.log('oldArray', array);
            
            //根据下标删除数组元素
            var newArray5 = newArray4.slice(2);
            console.log('slice', newArray5);
            var newArray6 = newArray4.slice(10, 14);
            console.log('slice', newArray6);
            
            //判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
            var flag = array.some(isSatisfy);
            console.log('some', flag);
            
            //判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
            flag = array.every(isSatisfy);
            console.log('every', flag);
            
            //“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
            var array1 = [1,2,3,4,5,6,7,8,9,0,100];
            var newArray7 = array1.filter(isSatisfy);
            console.log('filter', newArray7);
            
            //指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
            var newArray8 = array1.map(isSatisfy);
            console.log('map', newArray8);
            
            //对数组进行遍历循环,对数组中的每一项运行给定函数。
            //这个方法没有返回值。参数都是function类型,默认有传参,
            //参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
            array.forEach(function(num, index, a){
                console.log(num + '|' + index + '|' + (a === array));
            });
            
            
            //indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
            //其中, 从数组的开头(位置 0)开始向后查找。
            flag = array1.indexOf(100);
            console.log('indexOf', flag);
            
            var result = array1.indexOf(2, 3);
            console.log('indexOf1', result);
            
            
            //lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
            //其中, 从数组的末尾开始向前查找。 
            result = array1.lastIndexOf(100);
            console.log('lastIndexOf', result);
            
            result = array1.lastIndexOf(0, 100);
            console.log('lastIndexOf', result);
            
            
            //splice():删除、插入和替换。
            //删除:指定 2 个参数:要删除的第一项的位置和要删除的项数。
            //插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。
            //替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。
            //插入的项数不必与删除的项数相等。
            var arr = [1,3,5,7,9,11];
            var arrRemoved = arr.splice(0,2);
            console.log(arr);                //[5, 7, 9, 11]
            console.log(arrRemoved);            //[1, 3]
            var arrRemoved2 = arr.splice(2,0,4,6);
            console.log(arr);                // [5, 7, 4, 6, 9, 11]
            console.log(arrRemoved2);           // []
            var arrRemoved3 = arr.splice(1,1,2,4);
            console.log(arr);                // [5, 2, 4, 4, 6, 9, 11]
            console.log(arrRemoved3);           //[7]
            
            /**
             * @description 比较方法
             * @param {Object} num1
             * @param {Object} num2
             */
            function compare(num1, num2) {
                return num1-num2;
            }
            
            /**
             * @description 是否大于10
             * @param {Object} num
             */
            function isSatisfy(num) {
                return num > 10;
            }
        </script>

 

推荐阅读: https://www.cnblogs.com/zyfeng/p/10541133.html

posted @ 2020-07-02 19:39  尘世间迷茫的小书童  阅读(194)  评论(0编辑  收藏  举报