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 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 怡红院免费的全部视频| 女m羞辱调教视频网站| 国产欧美成人免费观看| 亚洲成av人片在线观看| 久久精品中文字幕无码| 色在线亚洲视频www| 精品国产免费观看久久久| 精品一区二区高清在线观看| 成人秋霞在线观看视频| 国产720刺激在线视频| 中文字幕成人精品久久不卡| 被男按摩师添的好爽在线直播| 日韩一品在线播放视频一品免费 | 女人双腿搬开让男人桶| 免费在线h视频| 久久国产乱子伦免费精品| a级毛片在线播放| 领导边摸边吃奶边做爽在线观看 | 国产成人亚洲精品91专区手机| 免费无码成人片| 久久天天躁狠狠躁夜夜| 超级乱淫视频aⅴ播放视频| 波多野结衣一区二区免费视频 | 亚洲欧美专区精品久久| 一级做a爰片毛片| 黄色一级片日本| 日本天堂免费观看| 在线观看精品视频网站www| 亚洲视频免费在线观看| 99re热这里只有精品18| 精品乱码一区二区三区四区| 女皇跪趴受辱娇躯| 国产18禁黄网站免费观看| 一级一级18女人毛片| 色狠狠狠狠综合影视| 少妇群交换BD高清国语版| 国产91在线播放动漫| jizzjizz丝袜老师| 精品国内片67194| 在线观看免费视频a| 亚洲一区二区三区高清视频|