javascript - 数组列表获取替代结果的总和
问题描述
是否有一个函数如何轻松获得交替结果的总和:
这是我的简单原始列表:
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
解决方案
您可以为这些创建自己的自定义函数,如下所示:
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))
推荐阅读
- cytoscape - Cytoscape 3.8.2:下载了最新版本,但在任何地方都找不到 CytoscapeConfiguration 来删除虚拟文件
- go - 将验收测试写入 terraform 模块并将其转移到资源验收测试
- dependency-injection - ASP.NET Core MVC:创建业务和模型时如何实现SOLID原理?
- ruby - ElasticTranscoder gem 在创建作业时抛出模糊错误
- laravel - 顺风中的标头对齐
- python - 无法通过 ISODate 查询 pymongo
- tensorflow - TensorFlow 操作是默认并行执行还是顺序执行?
- reactjs - 在 React js 中单击按钮时重定向到新页面
- opengl-es - 清除/擦除屏幕周围框架的最佳方法?
- react-native - 如何在 menu.item 中实现 onPress?native-base@3.2.1-rc.1