如何在多个数组中比较相同的值?

原型:

我正在一个涉及嵌套数组的项目中,我需要按大小对每个数组中的1个值进行排序。(所有数组的格式都相同,例如[a,b,c,d])。更清楚地说,我将如何从数组中选择较大的数字,例如time[60][x]x是数组的数目(这是一个非常奇怪的嵌套)。

const time = {
  15: [
    { language: 'english', raw: 105.6, acc: 93.94, wpm: 96, punctuation: false }
  ],
  30: [
    { language: 'english', raw: 66.4, wpm: 66.4, punctuation: false, difficulty: 'normal' }
  ],
  60: [
    { acc: 98.97, language: 'english', puncutation: false, wpm: 96, difficulty: 'normal' },
    { acc: 92.63, puncutation: false, language: 'english_10k', wpm: 59.19, raw: 60.99 }
  ]
};

如您所见,每个数组都嵌套有不同数量的数组,例如,其中time[60][2]有2个数组。这是对象的结构。我需要从wpm列中找到每个数组的最大值。任何帮助都将不胜感激,谢谢

Geuis:

如果我正确理解了您的问题,则可能是您需要的:

const time = {
  15: [{wpm: 10}, {wpm: 15}, {wpm: 20}],
  30: [{wpm: 5}, {wpm: 10}, {wpm: 30},],
  60: [{wpm: 4}, {wpm: 12}, {wpm: 8},]
};

const results = {};

// iterate over the time object
for (let key in time) {
  results[key] = time[key].reduce((acc, item) => {
    if (item.wpm > acc) {
      return item.wpm;
    }
    
    return acc;
  }, 0);
}

console.log(results);

这是一个Codepen:https ://codepen.io/geuis/pen/VwaxWWY

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章