Ich arbeite an einem Projekt, das ein verschachteltes Array umfasst, und ich muss 1 Wert von jedem Array nach Größe sortieren. (Alle Arrays haben dasselbe Format, z. B. [a, b, c, d]). Um es klarer zu machen, wie würde ich die größere Anzahl aus einem Array auswählen, wie z. B. time[60][x]
wobei x die Anzahl der Arrays ist (es ist ein sehr seltsames Nest).
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 }
]
};
Wie Sie sehen können, enthält jedes Array eine andere Anzahl von Arrays, in denen beispielsweise time[60][2]
zwei Arrays verschachtelt sind . Dies ist die Struktur des Objekts. Ich muss den größten Wert aus der wpm-Spalte für jedes Array finden. Jede Hilfe wird sehr geschätzt, danke
Wenn ich Ihre Frage richtig verstehe, ist dies möglicherweise das, was Sie brauchen:
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);
Hier ist ein Codepen: https://codepen.io/geuis/pen/VwaxWWY
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen