尝试使用条件求和对象数组

华丽

假设我有一个包含以下对象的数组:

{ home: 0, away: 1, value: 7.371215599659567 }
{ home: 0, away: 2, value: 8.216563231723296 }
{ home: 0, away: 3, value: 6.168310325432516 }
{ home: 0, away: 4, value: 3.5073431380070055 }
{ home: 0, away: 5, value: 1.6104197237111348 }
{ home: 0, away: 6, value: 0.6215879547521032 }
{ home: 1, away: 0, value: 3.6824984689062354 }
{ home: 1, away: 1, value: 8.276413244141352 }
{ home: 1, away: 2, value: 9.393263752817953 }
{ home: 1, away: 3, value: 7.174679043260096 }
{ home: 1, away: 4, value: 4.146565482578415 }
{ home: 1, away: 5, value: 1.9328356809373288 }
{ home: 1, away: 6, value: 0.7563380262857585 }
{ home: 2, away: 0, value: 2.097379162309316 }
{ home: 2, away: 1, value: 4.796821176334703 }
{ home: 2, away: 2, value: 5.534669783150271 }
{ home: 2, away: 3, value: 4.2926916030788105 }
{ home: 2, away: 4, value: 2.515879239794918 }
{ home: 2, away: 5, value: 1.187567428237771 }
{ home: 2, away: 6, value: 0.4699201039387404 }
{ home: 3, away: 0, value: 0.8211845706155819 }
{ home: 3, away: 1, value: 1.9075353125788463 }
{ home: 3, away: 2, value: 2.2325407930142736 }
{ home: 3, away: 3, value: 1.7539581905097126 }
{ home: 3, away: 4, value: 1.0397854130494248 }
{ home: 3, away: 5, value: 0.49576148435142064 }
{ home: 3, away: 6, value: 0.19789157500581256 }
{ home: 4, away: 0, value: 0.24773516000500195 }
{ home: 4, away: 1, value: 0.5830691164647543 }
{ home: 4, away: 2, value: 0.6904477295864787 }
{ home: 4, away: 3, value: 0.5480588412313669 }
{ home: 4, away: 4, value: 0.3278306643240631 }
{ home: 4, away: 5, value: 0.15752158873111574 }
{ home: 4, away: 6, value: 0.06329504444770173 }
{ home: 5, away: 0, value: 0.061151126935764334 }
{ home: 5, away: 1, value: 0.14545542986663187 }
{ home: 5, away: 2, value: 0.17383966843362755 }
{ home: 5, away: 3, value: 0.13909400923467197 }
{ home: 5, away: 4, value: 0.08377178524032308 }
{ home: 5, away: 5, value: 0.040486670771772315 }
{ home: 5, away: 6, value: 0.016348423714773092 }
{ home: 6, away: 0, value: 0.012806909587366471 }
{ home: 6, away: 1, value: 0.030713983064227724 }
{ home: 6, away: 2, value: 0.0369671174487187 }
{ home: 6, away: 3, value: 0.029756524980091948 }
{ home: 6, away: 4, value: 0.018012700795413502 }
{ home: 6, away: 5, value: 0.008742842144856435 }
{ home: 6, away: 6, value: 0.00354304640928744 }

我想对所有home大于0且away小于的值求和home,所以我这样做了:

let matrix = [
  { home: 0, away: 0, value: 3.3406433795989217 },
  { home: 0, away: 1, value: 7.371215599659567 },
  { home: 0, away: 2, value: 8.216563231723296 },
  { home: 0, away: 3, value: 6.168310325432516 },
  { home: 0, away: 4, value: 3.5073431380070055 },
  { home: 0, away: 5, value: 1.6104197237111348 },
  { home: 0, away: 6, value: 0.6215879547521032 },
  { home: 1, away: 0, value: 3.6824984689062354 },
  { home: 1, away: 1, value: 8.276413244141352 },
  { home: 1, away: 2, value: 9.393263752817953 },
  { home: 1, away: 3, value: 7.174679043260096 },
  { home: 1, away: 4, value: 4.146565482578415 },
  { home: 1, away: 5, value: 1.9328356809373288 },
  { home: 1, away: 6, value: 0.7563380262857585 },
  { home: 2, away: 0, value: 2.097379162309316 },
  { home: 2, away: 1, value: 4.796821176334703 },
  { home: 2, away: 2, value: 5.534669783150271 },
  { home: 2, away: 3, value: 4.2926916030788105 },
  { home: 2, away: 4, value: 2.515879239794918 },
  { home: 2, away: 5, value: 1.187567428237771 },
  { home: 2, away: 6, value: 0.4699201039387404 },
  { home: 3, away: 0, value: 0.8211845706155819 },
  { home: 3, away: 1, value: 1.9075353125788463 },
  { home: 3, away: 2, value: 2.2325407930142736 },
  { home: 3, away: 3, value: 1.7539581905097126 },
  { home: 3, away: 4, value: 1.0397854130494248 },
  { home: 3, away: 5, value: 0.49576148435142064 },
  { home: 3, away: 6, value: 0.19789157500581256 },
  { home: 4, away: 0, value: 0.24773516000500195 },
  { home: 4, away: 1, value: 0.5830691164647543 },
  { home: 4, away: 2, value: 0.6904477295864787 },
  { home: 4, away: 3, value: 0.5480588412313669 },
  { home: 4, away: 4, value: 0.3278306643240631 },
  { home: 4, away: 5, value: 0.15752158873111574 },
  { home: 4, away: 6, value: 0.06329504444770173 },
  { home: 5, away: 0, value: 0.061151126935764334 },
  { home: 5, away: 1, value: 0.14545542986663187 },
  { home: 5, away: 2, value: 0.17383966843362755 },
  { home: 5, away: 3, value: 0.13909400923467197 },
  { home: 5, away: 4, value: 0.08377178524032308 },
  { home: 5, away: 5, value: 0.040486670771772315 },
  { home: 5, away: 6, value: 0.016348423714773092 },
  { home: 6, away: 0, value: 0.012806909587366471 },
  { home: 6, away: 1, value: 0.030713983064227724 },
  { home: 6, away: 2, value: 0.0369671174487187 },
  { home: 6, away: 3, value: 0.029756524980091948 },
  { home: 6, away: 4, value: 0.018012700795413502 },
  { home: 6, away: 5, value: 0.008742842144856435 },
  { home: 6, away: 6, value: 0.00354304640928744 }
];

let c = matrix.reduce((acc, curr) => {
    return acc += (acc.home > 0 && curr.away < acc.home) ? acc.value + curr.value : 0;
});
   console.log(c);

但是脚本返回[object Object]我做错了什么?

舒布

您需要初始化acc,有0。也有一些逻辑错误,我已经改正了改变acccurr。看看

let matrix = [{
    home: 0,
    away: 0,
    value: 3.3406433795989217
  },
  {
    home: 0,
    away: 1,
    value: 7.371215599659567
  },
  {
    home: 0,
    away: 2,
    value: 8.216563231723296
  },
  {
    home: 0,
    away: 3,
    value: 6.168310325432516
  },
  {
    home: 0,
    away: 4,
    value: 3.5073431380070055
  },
  {
    home: 0,
    away: 5,
    value: 1.6104197237111348
  },
  {
    home: 0,
    away: 6,
    value: 0.6215879547521032
  },
  {
    home: 1,
    away: 0,
    value: 3.6824984689062354
  },
  {
    home: 1,
    away: 1,
    value: 8.276413244141352
  },
  {
    home: 1,
    away: 2,
    value: 9.393263752817953
  },
  {
    home: 1,
    away: 3,
    value: 7.174679043260096
  },
  {
    home: 1,
    away: 4,
    value: 4.146565482578415
  },
  {
    home: 1,
    away: 5,
    value: 1.9328356809373288
  },
  {
    home: 1,
    away: 6,
    value: 0.7563380262857585
  },
  {
    home: 2,
    away: 0,
    value: 2.097379162309316
  },
  {
    home: 2,
    away: 1,
    value: 4.796821176334703
  },
  {
    home: 2,
    away: 2,
    value: 5.534669783150271
  },
  {
    home: 2,
    away: 3,
    value: 4.2926916030788105
  },
  {
    home: 2,
    away: 4,
    value: 2.515879239794918
  },
  {
    home: 2,
    away: 5,
    value: 1.187567428237771
  },
  {
    home: 2,
    away: 6,
    value: 0.4699201039387404
  },
  {
    home: 3,
    away: 0,
    value: 0.8211845706155819
  },
  {
    home: 3,
    away: 1,
    value: 1.9075353125788463
  },
  {
    home: 3,
    away: 2,
    value: 2.2325407930142736
  },
  {
    home: 3,
    away: 3,
    value: 1.7539581905097126
  },
  {
    home: 3,
    away: 4,
    value: 1.0397854130494248
  },
  {
    home: 3,
    away: 5,
    value: 0.49576148435142064
  },
  {
    home: 3,
    away: 6,
    value: 0.19789157500581256
  },
  {
    home: 4,
    away: 0,
    value: 0.24773516000500195
  },
  {
    home: 4,
    away: 1,
    value: 0.5830691164647543
  },
  {
    home: 4,
    away: 2,
    value: 0.6904477295864787
  },
  {
    home: 4,
    away: 3,
    value: 0.5480588412313669
  },
  {
    home: 4,
    away: 4,
    value: 0.3278306643240631
  },
  {
    home: 4,
    away: 5,
    value: 0.15752158873111574
  },
  {
    home: 4,
    away: 6,
    value: 0.06329504444770173
  },
  {
    home: 5,
    away: 0,
    value: 0.061151126935764334
  },
  {
    home: 5,
    away: 1,
    value: 0.14545542986663187
  },
  {
    home: 5,
    away: 2,
    value: 0.17383966843362755
  },
  {
    home: 5,
    away: 3,
    value: 0.13909400923467197
  },
  {
    home: 5,
    away: 4,
    value: 0.08377178524032308
  },
  {
    home: 5,
    away: 5,
    value: 0.040486670771772315
  },
  {
    home: 5,
    away: 6,
    value: 0.016348423714773092
  },
  {
    home: 6,
    away: 0,
    value: 0.012806909587366471
  },
  {
    home: 6,
    away: 1,
    value: 0.030713983064227724
  },
  {
    home: 6,
    away: 2,
    value: 0.0369671174487187
  },
  {
    home: 6,
    away: 3,
    value: 0.029756524980091948
  },
  {
    home: 6,
    away: 4,
    value: 0.018012700795413502
  },
  {
    home: 6,
    away: 5,
    value: 0.008742842144856435
  },
  {
    home: 6,
    away: 6,
    value: 0.00354304640928744
  }
];

let c = matrix.reduce((acc, curr) => {
  return acc += (curr.home > 0 && curr.away < curr.home) ? curr.value : 0;
}, 0);
console.log(c);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在条件求和中使用数组进行分组

来自分类Dev

尝试求和LatLng数组的距离

来自分类Dev

numpy:使用掩码数组的条件求和行

来自分类Dev

如何在条件下使用数组公式求和?

来自分类Dev

numpy:使用掩码数组的条件求和行

来自分类Dev

使用reduce对对象数组中的值求和

来自分类Dev

如何使用AngularJs对对象数组中的属性值求和

来自分类Dev

尝试使用react更新对象数组中的现有对象

来自分类Dev

对UDF使用数组求和

来自分类Dev

尝试从数组求和中获取结果

来自分类Dev

尝试从数组求和中获取结果

来自分类Dev

使用 Typescript 中的条件对象过滤嵌套数组的数组

来自分类Dev

使用条件在R中求和

来自分类Dev

尝试使用ArrayList操作数组中的对象

来自分类Dev

尝试使用数组过滤对象时失败

来自分类Dev

基于数组的部分的最快方式求和条件

来自分类Dev

Matlab根据条件求和结构数组行

来自分类Dev

如果条件满足,则遍历数组并求和

来自分类Dev

如何分组和求和对象数组?

来自分类Dev

对数组对象进行分组和求和

来自分类Dev

对Func <double,double>对象的数组求和

来自分类Dev

对象数组,按键求和,但键未知

来自分类Dev

对对象数组 Angular 中的属性求和

来自分类Dev

每月从 JavaScript 中的对象数组求和的值

来自分类Dev

如何求和对象内数组属性的长度

来自分类Dev

通过数组对象键对数组对象求和

来自分类Dev

如何使用Lodash将多个键分组并在一个对象数组中求和?

来自分类Dev

如何使用猫鼬,节点,在数组内查找求和对象

来自分类Dev

如何使用Firebase和angularfire对数组中的对象的值求和?

Related 相关文章

热门标签

归档