Max de chacune des dimensions d'un tableau multidimensionnel

Max de chacune des dimensions d'un tableau multidimensionnel - Javascript/Node.js - Programmation

Marsh Posté le 01-02-2018 à 15:48:19    

Bonjour,

 

Je cherche le maximum de chacune de mes dimensions (a, b, c, etc.) d'un tableau multidimensionnel de ce type :

Code :
  1. var arr = [[a1, b1, c1, ...1], [a2, b2, c2, ...2], [a3, b3, c3, ...3], ...];
 

J'attends en retour un tableau avec les maxs :

Code :
  1. var maxs = [max(a), max(b), max(c), ...];
 

Voilà ce que j'ai fait :

Code :
  1. var arr = [[1, 1, 1], [5, 7, 2], [3, 6, 4], [4, 4, 2]];
  2. var maxs = arr.reduce(function(a, b){
  3.   return a.map(function(a, i){
  4.     if (a >= b[i]) {
  5.       return a;
  6.     } else if (a < b[i]) {
  7.       return b[i];
  8.     }
  9.   });
  10. });
 

Mais je ne trouve pas ça super propre, auriez-vous mieux ?

 

EDIT : à terme le tableau pourra être très grand.


Message édité par MaybeEijOrNot le 01-02-2018 à 15:52:11

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 01-02-2018 à 15:48:19   

Reply

Marsh Posté le 01-02-2018 à 16:48:39    

D'ailleurs ce que je cherche au final c'est normaliser mes données, donc derrière il faudrait que je fasse ça :

Code :
  1. var arr_n = arr.map(function(a){return a.map(function(a, i){return a/maxs[i];});})
 

N'y a t-il vraiment pas moyen de faire mieux ? :??:

 


EDIT : ma normalisation suppose un domaine [0;+inf[, ce qui est débile car je pense à terme travailler sur ]-inf;+inf[. Bon ça ne demande que d'utiliser la valeur min pour corriger cela, mais je me dis que je n'ai finalement peut-être pas besoin de normaliser toutes mes données, surtout qu'après traitement il faudra faire le chemin inverse. Néanmoins j'ai toujours besoin des mins et maxs alors je suis preneur d'une meilleure solution.


Message édité par MaybeEijOrNot le 01-02-2018 à 19:03:38

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 04-02-2018 à 16:45:06    

[:juju27]  
 
Sérieux ? Personne n'a un avis sur ce qu'un noob comme moi peut faire en JS ???


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed