將一個數(shù)組中的相同值捆綁在一起,然后根據(jù)第一個數(shù)組的綁定數(shù)計算另一個數(shù)組上的值

我可能解釋得不好,但我做這張圖是為了讓它更清楚https://i.stack.imgur.com/yKAYc.png


我基本上把月份放在一個數(shù)組中:8 8 8 8 9 9 10 10 10

另一個數(shù)據(jù):2 3 3 1 8 3 4 2 4


我希望月份是:8 9 10

以及根據(jù)該值計算的值:9 11 10


{https://jsfiddle.net/Lyzn3rum的鏈接也在這里/

? 最佳回答:

編輯:包括單獨的單月數(shù)組。

這個答案只有在做出幾個假設(shè)的情況下才有效。我假設(shè):

  1. “month”數(shù)組總是按順序排列的
  2. “data”數(shù)組索引將始終與month數(shù)組中的索引相對應(yīng)

您可以使用一個奇特的數(shù)組reduce方法來編寫它,但對于初學(xué)者來說可能有點復(fù)雜。相反,我們可以創(chuàng)建一些變量來跟蹤我們所在的月份,然后在month數(shù)組中循環(huán)并總結(jié)相應(yīng)的數(shù)據(jù)值:

const months = [7, 8, 8, 8, 9, 9, 10, 10, 10];
const data = [2, 3, 3, 1, 8, 3, 4, 2, 4];

var singleMonths = [months[0]];
var lastSeen = months[0];
var sum = 0;
var values = [];

for (let i = 0; i < months.length; i++) {
  if (months[i] !== lastSeen) {
    singleMonths.push(months[i]);
    values.push(sum);
    sum = data[i];
    lastSeen = months[i];
  } else {
    sum += data[i];
  }
  
  if (i == months.length - 1) {
    values.push(sum);
  }
}

console.log(singleMonths);
console.log(values);
主站蜘蛛池模板: 无码AV一区二区三区无码| 亚洲国产成人久久综合一区77| 一区二区国产在线观看| 久久一区二区免费播放| 日本精品视频一区二区| 日韩精品中文字幕无码一区| 色视频综合无码一区二区三区| 国精产品一区一区三区MBA下载 | 成人精品一区久久久久| 久久国产精品无码一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产一区二区精品尤物| 在线观看国产一区二区三区| 91一区二区三区四区五区| 中文字幕精品一区| 国产情侣一区二区三区| 无码毛片一区二区三区中文字幕| 在线观看一区二区精品视频| 亚洲一区二区三区亚瑟| 精品乱码一区二区三区四区| 91精品国产一区| 一区二区和激情视频| 国产福利微拍精品一区二区 | 狠狠做深爱婷婷久久综合一区| 亚洲国产av一区二区三区丶| 亚洲一区二区三区乱码A| 痴汉中文字幕视频一区| 精品成人一区二区三区四区| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲综合无码一区二区三区| 亚洲日本一区二区| 午夜福利av无码一区二区| 久久综合精品不卡一区二区| 亚洲AV综合色一区二区三区| 蜜臀AV免费一区二区三区| 交换国产精品视频一区| 在线视频精品一区| 东京热无码av一区二区| 午夜DV内射一区二区| 亚洲av无码一区二区三区四区| 日韩美女在线观看一区|