首页 > 编程语言 > 详细

js中几种常用的数组处理方法的总结

时间:2019-12-31 11:31:48      阅读:76      评论:0      收藏:0      [点我收藏+]

一、filter()用法

功能:用于筛选数组中满足条件的元素,返回一个筛选后的新数组。
<script>
    $(function(){
        var arr = [1,-2,3,4,-5];
        var minus = arr.filter(function(item,index,array){
            return item < 0;
        });
        console.log(minus);   // [-2, -5]
    })
</script>

二、map()用法

功能:用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组

<script>
    $(function(){
        var arr=[1,-2,3,4,-5];
        var newArr = arr.map(function(item,index,array){
            return item * 2;
        });
        console.log(newArr);   // [2,-4,6,8,-10]
    })
</script>    

三、some()用法

功能:用于判断数组中的是否存在满足条件的元素,返回一个布尔值

<script>
    $(function(){
        var arr = [1,-2,3,4,-5];
        var isSome = arr.some(function(item,index,array){
            return item < 0;
        });
        console.log(isSome);   // true
    })
</script>

四、reduce()用法

<script>
        $(function(){
            /*
            * 语法:
            *   arr.reduce(function(prev,cur,index,arr){
            *       ...
            *   }, init);
            * 延伸:
            *   reduceRight():该方法用法与reduce()其实是相同的,只是遍历的顺序相反,
            *                 它是从数组的最后一项开始,向前遍历到第一项。
            * */

            //先声明一个数组
            var arr = [3,9,4,3,6,2,9];
            //用法一:求数组元素之和
            var sum = arr.reduce(function (prev, cur) {
                return prev + cur;
            },0);
            console.log("数组之和是====="+sum);
            //用法二:求数组元素之积
            var mul = arr.reduce(function (prev, cur) {
                return prev * cur;
            },1);
            console.log("数组之积是====="+mul);
            //求数组项最大值
            var max=arr.reduce(function(prev,cur){
//                return prev<cur?cur:prev;
                return Math.max(prev,cur);
            },0);
            console.log("数组最大值是====="+max);
            //数组去重
            var newArr=arr.reduce(function(prev,cur){
                prev.indexOf(cur) === -1 && prev.push(cur);
                return prev;
            },[]);
            console.log("数组去重之后的结果是"+newArr);

        })
    </script>

五、forEach()用法

功能:用于遍历数组,无返回值

<script>
    $(function(){
        //先给出一个数组
        var arr = [1,-2,3,4,-5];
        //用法一:将数组中的每一项翻倍
        arr.forEach(function(item,index,array){
            array[index] = item * 2;
        });
        console.log(arr);   // [2,-4,6,8,-10]

        //array[index]是全等于item的
        arr.forEach(function(item,index,array){
            console.log(array[index] === item);   // true
        });
    })
</script>

六、every()用法

功能:用于判断数组中的每一项元素是否都满足条件,返回一个布尔值

<script>
    $(function(){
        var arr = [1,-2,3,4,-5];
        var isEvery = arr.every(function(item,index,array){
            return item > 0;
        });
        console.log(isEvery);   // false
    })
</script>

js中几种常用的数组处理方法的总结

原文:https://www.cnblogs.com/SpringAndMoon/p/12123051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!