JS實現數組內值累加常見的3個方法

    目錄 一、方法一:(使用for循環) 二、方法二:(使用reduce方法) 三、方法三:(使用forEach方法) 附:js實現對象數組去重及數據疊加 總結 怎么實現數組的每一個值進行累加呢?我只
    目錄
    • 一、方法一:(使用for循環)
    • 二、方法二:(使用reduce方法)
    • 三、方法三:(使用forEach方法)
    • 附:js實現對象數組去重及數據疊加
    • 總結

    怎么實現數組的每一個值進行累加呢?我只想到了三種方法,比較基礎,也比較常用的,如果還有其他方法可以傳授一下給我,謝謝!

    一、方法一:(使用for循環)

    // 1.定義一個數組
    var oldArray = [1,2,3,4,5,6,7];
     
    // 2.定義一個初始值 0
    let result = 0;
     
    // 2.for循環遍歷,累加
    for(let i = 0; i<oldArray.length;i++){
      result += oldArray[i]
    }
     
    console.log(result,'result')   //28 result

    二、方法二:(使用reduce方法)

    // 1.定義一個數組
    var oldArray = [1,2,3,4,5,6,7];
     
    // 2.定義一個新的變量接收值
    let result = oldArray.reduce((a,b)=>{
      return a + b;
    })
     
    // 3.打印
    console.log(result,'result')  // 28 result

    三、方法三:(使用forEach方法)

    // 1.定義一個數組
    var oldArray = [1,2,3,4,5,6,7];
     
    // 2.定義一個變量
    let result = 0;
     
    // 3.使用forEach()循環遍歷和方法一類似
    oldArray.forEach((item)=>{
      result += item
    })
     
    // // 3.打印
    console.log(result,'result')

    以上是我想到的比較常用且實用的方法!

    附:js實現對象數組去重及數據疊加

    HTML

    <template>
      <div>
            <div v-for="item in list">
                id:{{item.id}} - count:{{item.count}}
            </div>
            <br />
            <div>點擊按鈕去重,count疊加</div>
            <button @click="getData">去重</button>
        </div>
    </template>

    JavaScript

    <script>
    export default {
      name: 'app',
      data(){
            return {
                list: [
                    {
                        id: 0,
                        count: 2,
                    },
                    {
                        id: 1,
                        count: 2,
                    },
                    {
                        id: 2,
                        count: 2,
                    },
                    {
                        id: 3,
                        count: 2,
                    },
                    {
                        id: 0,
                        count: 2,
                    },
                    {
                        id: 2,
                        count: 2,
                    },
                ]
            }
        },
        methods: {
            getData(){
                let listFilter = this.list
                // 定義map方法
                const res = new Map();
                // 過濾器過濾listFilter
                this.list = listFilter.filter((item) => {
                    // res收集第一次存在的元素,如果存在,查看存在的位置,對list中的count進行疊加
                    if(res.has(item.id)){
                        for(let [key,value] of res){
                            if(key==item.id){
                                this.list[key].count += item.count
                            }
                        }
                    }
                    // 如果不存在,則添加到res中
                    return !res.has(item.id) && res.set(item.id, 1)
                });
            }
        }
    }
    </script>

    總結

    到此這篇關于JS實現數組內值累加常見的3個方法的文章就介紹到這了,更多相關JS數組內值累加內容請搜索技圈網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持技圈網!

    【感謝: 龍石數據大數據分析平臺技術支撐 http://www.longshidata.com/pages/government.html, 】
    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 精品中文字幕一区在线| 视频一区视频二区日韩专区| 福利一区福利二区| 中文乱码精品一区二区三区| 激情内射亚洲一区二区三区爱妻 | 老湿机一区午夜精品免费福利| 国模无码人体一区二区| 久久久久人妻精品一区蜜桃| 精品国产免费一区二区| 国产精品免费大片一区二区| 精品一区二区三区免费视频| 日韩免费一区二区三区在线| 三上悠亚一区二区观看| 亚洲熟妇无码一区二区三区| 亚洲av无码不卡一区二区三区| 理论亚洲区美一区二区三区| 亚洲AV乱码一区二区三区林ゆな| 狠狠综合久久AV一区二区三区| 区三区激情福利综合中文字幕在线一区 | 国产成人片视频一区二区| 日韩高清一区二区| 国产一区二区三区在线免费观看| 中文字幕av人妻少妇一区二区| 亚洲一区二区三区在线观看蜜桃| 日本一区二区在线播放| 91福利视频一区| 精品国产一区二区三区香蕉| 日韩一区二区超清视频| 亚洲国产AV无码一区二区三区 | 日韩社区一区二区三区| 一区二区三区精品视频| 中文字幕精品亚洲无线码一区应用| 亚洲国产成人久久一区WWW| 中文字幕日本一区| 男人的天堂av亚洲一区2区| 欧美日韩国产免费一区二区三区 | 日韩经典精品无码一区| 精品国产亚洲一区二区在线观看 | 亚洲一区AV无码少妇电影☆| 国产精品va无码一区二区| 国产香蕉一区二区在线网站|