学习笔记之三(数组中的一些方法)

这是我在自学过程中看到的一些方法,如果对你有帮助,万分荣幸

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>数组中的方法</title>
    </head>

    <body>
    </body>
    <script type="text/javascript">
        /*
         * 1.concat()用于连接两个或多个数组,该方法不会改变现有的数组,返回一个新的数组
         * 2.slice(要复制的第一个元素的下标,要复制的最后一个的下标(不包含在内))复制数组
         * 3.join(参数:想在数组每个元素生成的对应的字符串的后面加上什么分隔符)将数组转为字符串
         * 4.sort()排序,基于Unicode编码表
         * 5.reverse()反转数组元素的顺序
         * 
         */
        //注意,里面的参数是三个,不能少,名字可以换
        //关于数组的新方法every();some();forEach();map()
        var numbers = new Array(1, 2, 3, 4, 5);

        function islessThan3(value, index, array) {
            var returnValue = false;
            if(value < 3) {
                returnValue = true;
            }
            return returnValue;
        }
        //every()是对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
        //        alert(numbers.every(islessThan3));

        //some()是对数组中的每一项运行给定函数,如果该函数对任一项或者多项(只要有一个以上)返回true,则返回true。
        if(numbers.some(islessThan3)) {
            var rusult = numbers.filter(islessThan3);
            document.write(rusult + "<br />");
        }

        //forEach()
        //forEach() 是多数组中的每一项运行给定函数,这个方法没有返回值。它只是对数组中的每一项运行传入的函数,没有返回值。本质上与使用for循环迭代数组一样。
        var num = new Array(1, 2, 3, 4, 5);

        function doubleNumber(value, index, array) {
            var results = value * 2;
            //            document.write(results+" ");
            return results;
        }
        //        num.forEach(doubleNumber);
        //map()是对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。这个数组的每一项都是在原始数据中的对应项上运行传入函数的结果
        document.write(num.map(doubleNumber))


        //filter();
        var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

        var filterResult = numbers.filter(function(item, index, array) {

            return(item > 2);

        });

        alter(filterResult); //[3,4,5,4,3];
        //此例子中,传入的函数要返回一个所有数值都大于2的数组,通过调用filter()方法创建并返回了包含3/4/5/4/3的数组,因为传入的函数对它们的每一项都返回true。这个方法对查询符合某些条件的所有数组项非常有用。
        
    </script>

</html>
原文地址:https://www.cnblogs.com/hanhui66/p/6017174.html