首页 > 解决方案 > 数组列表获取替代结果的总和

问题描述

是否有一个函数如何轻松获得交替结果的总和:

这是我的简单原始列表:

let x = [1, 2 , 3 , 4 , 5 , 6 ,7];

expected result:
sum by first: 1 + 3 + 5 + 7 = 16
sum by second: 2 + 4 + 6 = 12
sum by third: 3 + 6 = 9

只想通过交替索引得到总和,任何建议/评论 TIA

标签: javascript

解决方案


您可以为这些创建自己的自定义函数,如下所示:

const myList = [1, 2, 3, 4, 5, 6, 7];
let skipTake = (take, list) => {
  let filtered = list.filter((a, i) => {
    if (take == 1) {
      return i % 2 == 0;
    } else if (take == 2) {
      return i != 0 && i % take == 1;
    } else {
      return i != 0 && (i + 1) % take == 0;
    }
  });
  return filtered.reduce((agg, cur) => agg += cur);
}

console.log("first", skipTake(1, myList))
console.log("second", skipTake(2, myList))
console.log("third", skipTake(3, myList))
console.log("fourth", skipTake(4, myList))


推荐阅读