js数组方法详解

时间:2022-09-08 19:04:21

js数组方法详解

js数组方法详解

Array对象的方法-25个

 /*js数组方法详解 */

        /*
         * 1 concat() 用于连接多个数组或者值--------------
         * 2 copyWithin()  方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。()此方法没太明白
         * 3 every() 用于数组中是否所有元素都满足条件------
         * */
        function fn4() {
            var arr = [1, 2, 3, 4, 5];
            var re = arr.every(function (v, k, arr) {
                console.log(v, k, arr);
                return v > 0;
            })
            console.log(re);
        }
        /*
         4 fill() 对数字进行指定元素填充--------------------------------------
         *注:不可改变数组长度
         *   array.fill(value, start[, end])
         */

        function fn5() {
            var arr = [1, 2, 3];
            arr.fill('*', 1, 5);
            console.log(arr);//[1, "*", "*"]
        }
        /*
         *5  filter()    过滤数组中满足条件的元素--------------------------------
         * */
        function fn6() {
            var arr = [12, 3, 43, 4, 4, 34, 4, 5, 54, 646];
            var re = arr.filter(function (v, k, arr) {
                return v > 10;
            })
            console.log(re);

        }

        /*
         * 6 find() 查找数组中首个满足条件的元素 没有返回undefined-------------
         * 注意: IE 11 及更早版本不支持 find() 方法。
         * */
        function fn7() {
            var arr = [12, 3, 43, 4, 4, 34, 4, 5, 54, 646];
            var re = arr.find(function (v, k, arr) {
                return v > 2399;

            })
            console.log(re);
        }
        /*
         *
         *7  findindex() 返回满足条件首个元素的下标-------------------------
         *  array.findIndex(function(currentValue, index, arr), thisValue)
         *  与indexof的差别 indexof 不可检测NaN
         *
         *  */
        /*
         * 8 forEach() 遍历数组-------------------------
         *      不改变原数组 无返回值
         * */
        function fn8() {
            var arr = [12, 3, 43, 4, 4, 34, 4, 5, 54, 646];
            var re = arr.forEach(function (v, k, arr) {
                console.log(v * 2);

            })
            console.log(arr);
        }

        /*
         * 9 includes() 判断一个数组是否包含某个元素------------------------
         *  可检测nan
         *10   indexof()------------------------------------
         * 11 join() 数组转化为字符串-------------------
         * 12 lastindexof()
         *
         * */
        /*
         * 13 map() 返回操作后的数组
         * */
        function fn9() {
            var arr = [12, 3, 43, 4, 4, 34, 4, 5, 54, 646];
            var re = arr.map(function (v, k, arr) {
                return v + 1;

            })
            console.log(re);
        }
        /*
         * 14 pop() 返回删除的元素---------------------------------
         * 15 push()    新数组长度---------------------------------
         * 16 shift()   删除的元素---------------------------------
         * 17 unshift()  新数组长度---------------------------------
         *
         * */
        /*
         * 18 reduce()
         * 19 reduceRight() 从右侧开始
         * */
        function fn10() {
            /*数组元素累加*/
            var arr = [1, 2, 3, 4];
            var re = arr.reduce(function (sum, num) {
                console.log(sum, num);
                return sum + num;
            })
            console.log(re);
        }
        /*
         *20  reverse() 翻转数组元素位置
         * *//*
         * 21 slice() 截取数组 不改变原数组
         * */
        function fn11() {
            var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
            var re = arr.slice(0, 3);
            console.log(arr, re);
        }
        /*22 some() 查找数组中是否含有某个元素 返回布尔值 检测到后后面的元素则不再遍历
         * */
        function fn12() {
            var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
            var re = arr.some(function (v, k, arr) {
                return v > 1;

            })
            console.log(re);
        }
        /*
         *23 splice() 从数组中添加或者删除元素 返回切割的数组 原数组减少
         * array.splice(index,howmany,item1,.....,itemX)
         *
         * 24 toString()\
         * 25 valueOf()  是数组对象的默认方法。不会改变原数组
         * */