Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как найти по массиву данные? (https://javascript.ru/forum/misc/70561-kak-najjti-po-massivu-dannye.html)

JetBlack 15.09.2017 01:11

Как найти по массиву данные?
 
man=Array();


man[0]=Array();
man[0][0]="30";
man[0][1]="40";
man[0][2]="50";
man[0][3]="12/02/1994";
man[0][4]="40";

//---------------------------------------------------------

man[1]=Array();
man[1][0]="20";
man[1][1]="31";
man[1][2]="31";
man[1][3]="12/02/1991";
man[1][4]="31";
//---------------------------------------------------------
man[2]=Array();
man[2][0]="123";
man[2][1]="123";
man[2][2]="51";
man[2][3]="12/02/1971";
man[2][4]="87";
//---------------------------------------------------------
man[3]=Array();
man[3][0]="22";
man[3][1]="56";
man[3][2]="1000"
man[3][3]="12/02/1912";
man[3][4]="100";

нужно чтобы по 3 индексу вычисляло самого старого человека

laimas 15.09.2017 01:15

Очередной кошмарик - почему даты кверху каком? Не все языки могут распарсить дату в локальном формате, и 100% корректно будет ее представление год/месяц/число.

А числа они и в Африке числа, зачем их в виде строк явно хранить?

JetBlack 15.09.2017 01:19

Так надо, вы лучше укажите код на вычисления самого старого

laimas 15.09.2017 01:24

Цитата:

Сообщение от JetBlack
Так надо

Кому это надо, вам? А вот для JS, это уже лишний напряг. Данные представляют не так, чтобы "красиво и понятно мне было", а так как с ними предполагается работать.

Цитата:

Сообщение от JetBlack
вы лучше укажите код на вычисления самого старого

Это называется "через заднее место", данные типа "костыль", а там разберутся, на то он и язык программирования. Ну разве так можно?

j0hnik 15.09.2017 01:33

man=Array();


man[0]=Array();
man[0][0]="30";
man[0][1]="40";
man[0][2]="50";
man[0][3]="12/02/1994";
man[0][4]="40";

//---------------------------------------------------------

man[1]=Array();
man[1][0]="20";
man[1][1]="31";
man[1][2]="31";
man[1][3]="12/02/1991";
man[1][4]="31";
//---------------------------------------------------------
man[2]=Array();
man[2][0]="123";
man[2][1]="123";
man[2][2]="51";
man[2][3]="12/02/1971";
man[2][4]="87";
//---------------------------------------------------------
man[3]=Array();
man[3][0]="22";
man[3][1]="56";
man[3][2]="1000";
man[3][3]="12/02/1912";
man[3][4]="100";
alert(man.sort((a, b)=> a[3].split('/').reverse().join('') - b[3].split('/').reverse().join(''))[0][3]);


пишите все в одной теме, не создавайте лишних

рони 15.09.2017 01:41

j0hnik,
на всякий случай: когда вычитание, можно не умножать

j0hnik 15.09.2017 01:47

Цитата:

Сообщение от рони (Сообщение 464552)
j0hnik,
на всякий случай: когда вычитание, можно не умножать

Это автоматом, спасибо

рони 15.09.2017 01:49

:) если нужна только дата

man=Array();


man[0]=Array();
man[0][0]="30";
man[0][1]="40";
man[0][2]="50";
man[0][3]="12/02/1994";
man[0][4]="40";

//---------------------------------------------------------

man[1]=Array();
man[1][0]="20";
man[1][1]="31";
man[1][2]="31";
man[1][3]="12/02/1991";
man[1][4]="31";
//---------------------------------------------------------
man[2]=Array();
man[2][0]="123";
man[2][1]="123";
man[2][2]="51";
man[2][3]="12/02/1971";
man[2][4]="87";
//---------------------------------------------------------
man[3]=Array();
man[3][0]="22";
man[3][1]="56";
man[3][2]="1000";
man[3][3]="12/02/1912";
man[3][4]="100";
alert(man.map(a => a[3].split('/').reverse()).sort()[0].reverse().join("/"));


Часовой пояс GMT +3, время: 04:16.