文章詳情頁
JS實(shí)現(xiàn)數(shù)組內(nèi)值累加常見的3個(gè)方法
瀏覽:10日期:2022-06-13 08:20:12
目錄一、方法一:(使用for循環(huán))二、方法二:(使用reduce方法)三、方法三:(使用forEach方法)附:js實(shí)現(xiàn)對(duì)象數(shù)組去重及數(shù)據(jù)疊加總結(jié)
怎么實(shí)現(xiàn)數(shù)組的每一個(gè)值進(jìn)行累加呢?我只想到了三種方法,比較基礎(chǔ),也比較常用的,如果還有其他方法可以傳授一下給我,謝謝!
一、方法一:(使用for循環(huán))// 1.定義一個(gè)數(shù)組var oldArray = [1,2,3,4,5,6,7]; // 2.定義一個(gè)初始值 0let result = 0; // 2.for循環(huán)遍歷,累加for(let i = 0; i<oldArray.length;i++){ result += oldArray[i]} console.log(result,'result') //28 result二、方法二:(使用reduce方法)// 1.定義一個(gè)數(shù)組var oldArray = [1,2,3,4,5,6,7]; // 2.定義一個(gè)新的變量接收值let result = oldArray.reduce((a,b)=>{ return a + b;}) // 3.打印console.log(result,'result') // 28 result三、方法三:(使用forEach方法)// 1.定義一個(gè)數(shù)組var oldArray = [1,2,3,4,5,6,7]; // 2.定義一個(gè)變量let result = 0; // 3.使用forEach()循環(huán)遍歷和方法一類似oldArray.forEach((item)=>{ result += item}) // // 3.打印console.log(result,'result')以上是我想到的比較常用且實(shí)用的方法!
附:js實(shí)現(xiàn)對(duì)象數(shù)組去重及數(shù)據(jù)疊加HTML
<template> <div><div v-for='item in list'> id:{{item.id}} - count:{{item.count}}</div><br /><div>點(diǎn)擊按鈕去重,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收集第一次存在的元素,如果存在,查看存在的位置,對(duì)list中的count進(jìn)行疊加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>總結(jié)到此這篇關(guān)于JS實(shí)現(xiàn)數(shù)組內(nèi)值累加常見的3個(gè)方法的文章就介紹到這了,更多相關(guān)JS數(shù)組內(nèi)值累加內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
標(biāo)簽:
JavaScript
排行榜
