我正在一个涉及嵌套数组的项目中,我需要按大小对每个数组中的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列中找到每个数组的最大值。任何帮助都将不胜感激,谢谢
如果我正确理解了您的问题,则可能是您需要的:
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] 删除。
我来说两句