js中幾種常用的數組處理方法的總結


一、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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM