Menu
Jest wolny
Rejestracja
Dom  /  Internet/ php znajdź najmniejszą wartość w tablicy. PHP Uzyskaj wartości min i max w tablicy asocjacyjnej 2D

Php znajduje najmniejszą wartość w tablicy. PHP Uzyskaj wartości min i max w tablicy asocjacyjnej 2D

(PHP 4, PHP 5, PHP 7)

min - Znajduje najmniejszą wartość

Opis

Jeśli jako argumenty podano tylko jeden - tablica liczb, min() zwraca najmniejszą z nich. Jeśli pierwszy argument jest liczbą całkowitą lub zmiennoprzecinkową, to musi być co najmniej jeszcze jeden. W tym przypadku funkcja min() zwróci najmniejszy z nich.

Komentarz:

Wartości różnych typów są porównywane przy użyciu standardowych reguł porównywania. Na przykład ciąg nienumeryczny ( strunowy) zostanie porównana z liczbą całkowitą ( liczba całkowita) tak, jakby był równy 0 , ale kilka linijek ( strunowy) zostaną porównane alfabetycznie. Zwracana wartość zachowa oryginalny typ zmiennej, bez konwersji.

Zwracane wartości

Funkcjonować min() zwraca wartość dowolnego parametru, który jest uważany za „najmniejszy” zgodnie ze standardowymi regułami porównania. Jeśli kilka wartości różnych typów jest sobie równych (tj. 0 oraz "ABC"), wtedy pierwszy zostanie zwrócony.

Przykłady

Przykład #1 Przykład użycia min()

echo min (2 , 3 , 1 , 6 , 7 ); // jeden
echo min (tablica(2 , 4 , 5 )); // 2

// Łańcuch "hello" jest traktowany jako 0 w porównaniu z int
// Ponieważ obie wartości są równe, kolejność parametrów określa wynik
echo min(0 , "cześć" ); // 0
echo min("cześć" , 0 ); // Witam

// Tutaj porównujemy -1< 0, поэтому -1 является наименьшим значением
echo min("cześć" , - 1 ); // -jeden

// Porównując tablice o różnych długościach, min zwróci krótszą
$val = min(tablica(2 , 2 , 2 ), tablica(1 , 1 , 1 , 1 )); // tablica (2, 2, 2)

// Wiele tablic o tej samej długości jest porównywanych od lewej do prawej
// dla tego przykładu: 2 == 2 ale 4< 5
$val = min(tablica(2 , 4 , 8 ), tablica(2 , 5 , 1 )); // tablica(2, 4, 8)

// Jeśli porównujemy tablicę i nie-tablicę, tablica nigdy nie zostanie zwrócona
// ponieważ tablice są uważane za większe niż wszystkie inne wartości
$val = min("ciąg" , tablica(2 , 5 , 7 ), 42 ); // strunowy

// Jeśli jeden argument ma wartość NULL lub wartość logiczną, zostanie porównany z resztą
// używając reguły FALSE< TRUE, учитывая остальные типы аргументов
// W powyższym przykładzie -10 i 10 są traktowane jako PRAWDA
$wartość = min(-10 , FAŁSZ , 10 ); // fałszywy
$wal = min(- 10 , NULL , 10 ); // ZERO

// z drugiej strony 0 jest traktowane jako FAŁSZ, więc jest „mniej niż” PRAWDA
$wartość = min(0 , PRAWDA ); // 0
?>


Mam taką tablicę:

Tablica (0 => tablica ("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200",), 1 => tablica ("id" => "20110209172747", "Data" => "2011-02-09", "Waga" => "180", 2 => tablica ("id" => "20110209172827", "Data" => "2011- 02-09", "Waga" => "175", 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195 ",))

Muszę wyodrębnić minimalne i maksymalne wartości wagowe. W tym przykładzie

$min_value = 175

$maks.wartość = 200

Jakakolwiek pomoc, jak to zrobić? Dziękuję Ci!


2018-05-01 03:06

Odpowiedzi:

Opcja 1: Najpierw mapujesz tablicę, aby uzyskać te liczby (a nie pełne informacje):

$tablica = array_column($tablica, "waga")

Wtedy otrzymujesz min i max:

$min = min($liczby); $maks = maks($liczby);

Opcja 2. (Tylko jeśli nie masz PHP 5.5.) Tak samo jak opcja 1, ale użyj array_map, aby wyciągnąć wartości:

$liczby = array_map(function($details) ( return $details["Waga"]; ), $array);

Opcja 3.

Opcja 4: Jeśli potrzebujesz minimum min max, array_reduce() może być szybsza:

$min = array_reduce($tablica, function($min, $szczegóły) ( return min($min, $szczegóły["waga"]); ), PHP_INT_MAX);

Robi więcej niż min() s, ale są bardzo szybkie. PHP_INT_MAX powinno zaczynać się od maksimum i stawać się coraz niższe. Możesz zrobić to samo dla $max , ale zaczniesz od 0 lub -PHP_INT_MAX .


2018-05-01 03:11

Foreach ($tablica jako $k => $v) ( $tArray[$k] = $v["Waga"]; ) $min_value = min($tArray); $max_value = max($tArray);


2018-05-01 03:09

Dla osób używających PHP 5.5+ można to zrobić o wiele łatwiej dzięki array_column .Nie ma potrzeby używania tych brzydkich tablic.

Jak uzyskać maksymalną wartość:

$highest_weight = max(array_column($detale, "Waga"));

Jak uzyskać minimalną wartość

$lowest_weight = min(array_column($detale, "Waga"));


2018-01-24 11:04

Warto zauważyć, że oba powyższe rozwiązania wykorzystują dodatkową pamięć w postaci tablic (pierwsza z nich i druga tablica), a następnie znajdujesz min i max za pomocą tablicy „dodatkowa pamięć”. Chociaż może to być akceptowalne w prawdziwym świecie programowania (kto daje dwa bity na temat „dodatkowej” pamięci?), dałoby ci to „C” w programowaniu 101.

Problem ze znalezieniem min i max można łatwo rozwiązać za pomocą zaledwie dwóch dodatkowych gniazd pamięci

$pierwszy = intval($input["Waga"]); $min = $pierwszy ; $maks = $pierwszy ; foreach($input as $data) ( $waga = intval($data["Waga"]); if($waga<= $min) { $min = $weight ; } if($weight >$max) ( $max = $waga ; ) ) echo " min = $min i max = $max \n " ;


2018-05-01 06:08

$num = array (0 => array("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200"), 1 => array("id" => "20110209172747", "Data" => "2011-02-09", "Waga" => "180"), 2 => tablica ("id" => "20110209172827", "Data" => "2011 -02-09", "Waga" => "175"), 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195 ")); foreach($liczba jako $klucz => $wal) ( $waga = $wal["Waga"]; ) echo max($waga); echo min($waga);


2018-01-10 06:44

array ("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200", 1 => array ("id" => "20110209172747", " Data" => "2011-02-09", "Waga" => "180", 2 => tablica ("id" => "20110209172827", "Data" => "2011-02-09", "Waga" => "175", 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195",),) ; foreach ($tablica jako $klucz => $wartość) ( $wynik[$klucz] = $wartość["Waga"]; ) $min = min($wynik); $maks = maks($wynik); echo "Tablica w numerze Minnumum:".$min."
"; echo " Tablica w Maksymalna liczba:".$max."
"; ?>


2017-11-11 19:33

$Location_Category_array = array(5,50,7,6,1,7,7,30,50,50,50,40,50,9,9,11,2,2,2,2,2,2,11,21 ,21,1,12,1,5); asort($Location_Category_tablica); $count=array_count_values($Location_Category_array);//Zlicza wartości w tablicy, zwraca skojarzoną tablicę print_r($count); $maksymalny rozmiar = 0; $maksymalna wartość = 0; foreach($liczba jako $a=>$y)( echo "
".$a."=".$y; if($y>=$maxvalue)( $maxvalue = $y; if($a>$maxsize)( $maxsize = $a; ) ) ) echo "
max = ".$maxrozmiar;

pobierz klucz(9)

Mam taką tablicę:

Tablica (0 => tablica ("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200",), 1 => tablica ("id" => "20110209172747", "Data" => "2011-02-09", "Waga" => "180", 2 => tablica ("id" => "20110209172827", "Data" => "2011- 02-09", "Waga" => "175", 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195 ",))

Muszę wyodrębnić minimalne i maksymalne wartości wagowe. W tym przykładzie

$min_value = 175

$maks.wartość = 200

Jakakolwiek pomoc, jak to zrobić? Dziękuję Ci!

Odpowiedzi

Dla osób używających PHP 5.5+ można to zrobić o wiele łatwiej dzięki array_column . Nie potrzeba tych brzydkich tablic.

Jak uzyskać maksymalną wartość:

$highest_weight = max(array_column($detale, "Waga"));

Jak uzyskać minimalną wartość

$lowest_weight = min(array_column($detale, "Waga"));

Opcja 1: Najpierw mapujesz tablicę, aby uzyskać te liczby (a nie pełne informacje):

$tablica = array_column($tablica, "waga")

Wtedy otrzymujesz min i max:

$min = min($liczby); $maks = maks($liczby);

Opcja 2. (Tylko jeśli nie masz PHP 5.5.) Tak samo jak opcja 1, ale użyj array_map, aby wyciągnąć wartości:

$liczby = array_map(function($details) ( return $details["Waga"]; ), $array);

Opcja 3.

Opcja 4: Jeśli potrzebujesz tylko min LUB max, array_reduce() może być szybsza:

$min = array_reduce($tablica, function($min, $szczegóły) ( return min($min, $szczegóły["waga"]); ), PHP_INT_MAX);

To daje więcej min() s, ale są one bardzo szybkie. PHP_INT_MAX powinno zaczynać się od maksimum i stawać się coraz niższe. Możesz zrobić to samo dla $max , ale zaczniesz od 0 lub -PHP_INT_MAX .

array ("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200", 1 => array ("id" => "20110209172747", " Data" => "2011-02-09", "Waga" => "180", 2 => tablica ("id" => "20110209172827", "Data" => "2011-02-09", "Waga" => "175", 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195",),) ; foreach ($tablica jako $klucz => $wartość) ( $wynik[$klucz] = $wartość["Waga"]; ) $min = min($wynik); $maks = maks($wynik); echo "Tablica w numerze Minnumum:".$min."
"; echo " Tablica w Maksymalna liczba:".$max."
"; ?>

Foreach ($tablica jako $k => $v) ( $tArray[$k] = $v["Waga"]; ) $min_value = min($tArray); $max_value = max($tArray);

szybko wypisz pięć liczb maksymalnych i minimalnych z tablicy bez używania tablicy sortowania w php :-

Lista siedmiu najwyższych temperatur:-"; $m= max($tablica); for($i=1; $i<7 ; $i++) { $m[$i]=max(array_diff($array,$m)); } foreach ($m as $key =>$wartość) ( echo " ".$wartość; ) echo "
Lista siedmiu najniższych temperatur: "; $mi= min($array); for($i=1; $i<7 ; $i++) { $mi[$i]=min(array_diff($array,$mi)); } foreach ($mi as $key =>$wartość) ( echo " ".$wartość; ) ?>

Co powiesz na bez użycia predefiniowanej funkcji, takiej jak min lub max ?

$arr = ; $wal = $arr; $n = liczba($arr); dla($i=1;$i<$n;$i++) { if($val<$arr[$i]) { $val = $val; } else { $val = $arr[$i]; } } print($val);

Warto zauważyć, że oba powyższe rozwiązania wykorzystują dodatkową pamięć w postaci tablic (pierwsza z nich i druga tablica), a następnie znajdujesz min i max za pomocą tablicy „dodatkowa pamięć”. Chociaż może to być akceptowalne w prawdziwym świecie programowania (kto daje dwa bity na temat „dodatkowej” pamięci?), dałoby ci to „C” w programowaniu 101.

Problem ze znalezieniem min i max można łatwo rozwiązać za pomocą zaledwie dwóch dodatkowych gniazd pamięci

$pierwszy = intval($input["Waga"]); $min = $pierwszy ; $maks = $pierwszy ; foreach($input as $data) ( $waga = intval($data["Waga"]); if($waga<= $min) { $min = $weight ; } if($weight >$max) ( $max = $waga ; ) ) echo " min = $min i max = $max \n " ;

$num = array (0 => array("id" => "20110209172713", "Data" => "2011-02-09", "Waga" => "200"), 1 => array("id" => "20110209172747", "Data" => "2011-02-09", "Waga" => "180"), 2 => tablica ("id" => "20110209172827", "Data" => "2011 -02-09", "Waga" => "175"), 3 => tablica ("id" => "20110211204433", "Data" => "2011-02-11", "Waga" => "195 ")); foreach($liczba jako $klucz => $wal) ( $waga = $wal["Waga"]; ) echo max($waga); echo min($waga);

Oto kilka sposobów usuń element z tablicy za pomocą javascript .

Wszystkie opisane metody nie zmieniaj oryginalnej tablicy i zamiast tego utwórz nowy.

Jeśli znasz indeks elementu

Załóżmy, że masz tablicę i chcesz usunąć element z pozycji i .

Jednym ze sposobów jest użycie slice() :

const items = ["a", "b", "c", "d", "e", "f"] const i = 3 const przefiltrowaneItems = items.slice(0, i-1).concat(items. slice(i, items.length)) console.log(filteredItems)

slice() tworzy nową tablicę z otrzymanymi indeksami. Po prostu tworzymy nową tablicę - od początku do indeksu, który chcemy usunąć, i łączymy kolejną tablicę od pierwszej pozycji, za tą, którą usunęliśmy, do końca tablicy.

Jeśli znasz znaczenie

W takim przypadku dobrą opcją jest użycie funkcji filter() , która oferuje więcej deklaracyjny podejście:

const items = ["a", "b", "c", "d", "e", "f"] const valueToRemove = "c" const przefiltrowaneItems = items.filter(item => item !== valueToRemove) console.log(filtrowane elementy)

Wykorzystuje to funkcje strzałek ES6. Możesz używać tradycyjnych funkcji do obsługi starszych przeglądarek:

const items = ["a", "b", "c", "d", "e", "f"] const valueToRemove = "c" const przefiltrowaneItems = items.filter(function(item) ( return item != = valueToRemove)) console.log(filteredItems)

lub możesz użyć Babel i przekonwertować kod ES6 z powrotem do ES5, aby był bardziej czytelny dla starszych przeglądarek, ale napisz nowoczesny JavaScript w swoim kodzie.

Usuwanie wielu elementów

Co jeśli zamiast jednego elementu chcesz usunąć wiele elementów?

Znajdźmy najprostsze rozwiązanie.

Według indeksu

Możesz po prostu utworzyć funkcję i sekwencyjnie usuwać elementy:

const items = ["a", "b", "c", "d", "e", "f"] const removeItem = (items, i) => items.slice(0, i-1).concat (items.slice(i, items.length)) let filterItems = removeItem(items, 3) filterItems = removeItem(filteredItems, 5) //["a", "b", "c", "d"] konsola. log(filtrowane elementy)

Według wartości

Możesz poszukać dołączenia wewnątrz funkcji zwrotnej:

const items = ["a", "b", "c", "d", "e", "f"] const valuesToRemove = ["c", "d"] const przefiltrowaneItems = items.filter(item => !valuesToRemove.includes(item)) // ["a", "b", "e", "f"] console.log(filteredItems)

Unikaj mutowania oryginalnej tablicy

splice() (nie mylić z slice()) mutuje oryginalną tablicę i należy tego unikać.

Mam tablicę w tym formacie:

Macierz ( => Macierz ( => 117 => Sieć => 16) => Macierz ( => 188 => FTP => 23) => Macierz ( => 189 => Internet => 48))

Czy istnieje dobry sposób na uzyskanie minimalnej i maksymalnej wartości „count”? Mógłbym to zrobić za pomocą wielu pętli, ale pomyślałem, że może być lepszy sposób.

W przeciwieństwie do innych, nie możesz użyć funkcji min() / max() do tego problemu, ponieważ te funkcje nie rozumieją przekazanych im tablic danych (tablicy). Te funkcje działają tylko dla elementów tablicy skalarnej.

POCZĄTEK OBRAZU

Powodem, dla którego użycie min() i max() wydaje się dawać poprawną odpowiedź, jest rzutowanie tablic typu na liczby całkowite, co jest niezdefiniowanym zachowaniem:

Zachowanie konwersji na liczbę całkowitą nie jest zdefiniowane dla innych typów. Nie polegaj na żadnych obserwowalnych zachowaniach, ponieważ mogą one ulec zmianie bez ostrzeżenia.

Moje oświadczenie o rzucaniu typów było błędne. Właściwie min() i max() działają na tablicach, ale nie w taki sposób, w jaki OP ich potrzebuje. Używając min() i max() z wieloma tablicami lub tablicą elementów tablicy, elementy są porównywane element po elemencie od lewej do prawej:

$val = min(tablica(2, 4, 8), tablica(2, 5, 1)); // array(2, 4, 8) /* * pierwszy element w porównaniu z pierwszym elementem: 2 == 2 * drugi element w porównaniu z drugim elementem: 4< 5 * first array is considered the min and is returned */

OP przetłumaczony na problem pokazuje, dlaczego użycie min() i max() bezpośrednio wydaje się dawać poprawny wynik. Pierwszymi elementami tablicy są id , więc min() i max() najpierw je porównują, co nawiasem mówiąc prowadzi do poprawnego wyniku, ponieważ najniższym id jest ten z najmniejszą liczbą, a najwyższym z najwyższa liczba liczników.

KONIEC EDYCJI

Prawidłowym sposobem jest użycie pętli.

$a = array(array("id" => 117, "name" => "Sieć", "count" => 16), array("id" => 188, "name" => "FTP", " count" => 23), array("id" => 189, "name" => "Internet", "count" => 48)); $min = PHP_INT_MAX; $maks = 0; foreach ($a jako $i) ( $min = min($min, $i["liczba"]); $max = max($max, $i["liczba"]); )

Możesz użyć funkcji max() i min().

Co zrobiłeś z wieloma cyklami? Jeden wystarczy 🙂

  1. Uzyskaj pierwszy element, licząc zarówno $min, jak i max
  2. iteruj przez resztę, porównaj licznik z każdym $min i $max, jeśli mniej/więcej, przypisz nową wartość licznika

Możesz użyć funkcji max / min, ponieważ zwrócą one tablicę zawierającą maksimum / minimum każdego indeksu. Twój przykład powinien zwrócić array(189, "Networking", 48) dla max . Następnie możesz pobrać wynik z tej tablicy.

Aktualizacja tego nie działa, jak wykluczyłem. Przykład strony podręcznika wprowadza w błąd, a przykład podaje poprawny wynik przy użyciu max, ale to tylko zbieg okoliczności.

Wygląda na to, że nie możesz użyć max() na tablicy 2D. Zwraca po prostu największą tablicę, a nie max() każdego indeksu (jak podano w kilku odpowiedziach).

$liczba = tablica(); foreach($arr as $_arr) ( $count = $_arr["count"]; ) var_dump(max($count), min($count));

Czy istnieje odpowiednik? wbudowany funkcja do tego? (nawet bez możliwości testowanie)

/*** Pobranie kolumny z tablicy 2D z opcjonalnym zaznaczeniem innej kolumny * * @param $ aArray do pobrania z * @param $ aColName nazwa kolumny do pobrania, np. "O_NAME" * @param $ aColTest (Opcjonalnie) Nazwa kolumny, na której ma zostać uruchomiony test, np. "O_ID" * @param $aTest (opcjonalny) ciąg dla testu np. ">=10", "== "".$Toto. """ * @return tablica 1D z właśnie wyodrębnioną kolumną * @access public * / function extractColFromArray($aArray, $aColName, $aColTest = "", $aTest = "") ($mRes = array()); foreach($aArray as $row)( if (($aColTest == "") || (eval("return".$row[$aColTest].$aTest. ";"))) ( $mRes = $row[$aColName]; ) ) return $mRes; ) // extractColFromArray

Tablice to jeden z wygodnych ustrukturyzowanych sposobów przechowywania informacji. Każdy element takiej tablicy ma swoje miejsce, swój klucz i wartość. Zawartość tablic może być różna, na przykład podstawa liczb, nazwy lub proste wartości liczbowe. Mówiąc o liczbie, możemy zmierzyć się z różnego rodzaju zadaniami, na przykład wyprowadzenie wartości maksymalnej lub minimalnej. Dzisiaj porozmawiamy o tym, jak to jest rozwiązane w różnych językach programowania.

Znajdowanie największej i najmniejszej wartości tablicy jednowymiarowej w PHP

Wszystkie tablice różnią się strukturą. Rozważ dwie proste tablice jednowymiarowe, z których jedna nie zawiera kluczy:

$moja_tablica = array(22, 24, 37, 74, 23, 2, 10);

i jeden identyczny jak poprzedni, ale z klawiszami:

$moja_tablica = tablica(1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10);

Spróbujmy wyświetlić maksymalną i minimalną wartość tej tablicy. Aby to zrobić, korzystamy ze standardowych funkcji ” maks" oraz " min odpowiednio:

echo max($moja_tablica); // Wypisz 74 echo min($my_array); // Wyjście 2

Jeśli bardziej szczegółowo przyjrzymy się drugiej tablicy, to w rezultacie otrzymamy klucz wartości maksymalnych lub minimalnych.

Na przykładzie tablicy

$moja_tablica = tablica(1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10);

będzie to wyglądać tak:

$max = array_keys($my_array, max($my_array)); $max = $max;// Klucz maksymalnej wartości $min = array_keys($my_array, min($my_array)); $min = $min; // Klucz wartości minimalnej echo $max; // Wypisz wynik maksymalnej wartości

W związku z tym klucz wartości maksymalnej to „4”, a klucz wartości minimalnej to „6”.

Znajdowanie największej i najmniejszej wartości tablicy wielowymiarowej w PHP

Tablice wielowymiarowe różnią się zagnieżdżeniem. Na przykład dwuwymiarowa tablica wyglądałaby tak bez kluczy:

$moja_tablica = array(array(22, 24, 37), array(74, 23, 2), array(10));

I odpowiednio z niektórymi klawiszami:

$my_array = array(array(1 => 22, 2 => 24, 3 => 37), array(4 => 74, 5 => 23, 6 => 2), array(7 => 10));

W tym przypadku znalezienie wartości maksymalnych i minimalnych jest trochę trudne, ale równie realne.

Najpierw, aby znaleźć tutaj maksimum i minimum, konwertujemy tablicę na jednowymiarową:

$out_array = tablica(); foreach($my_array as $sub_array) ( $out_array = array_merge($out_array, $sub_array); )

Projekt działa dla obu powyższych opcji. A następnie, wzorem tablicy jednowymiarowej, wyświetlimy potrzebne nam dane:

echo max($out_array); // Wypisz 74 echo min($out_array); // Wyjście 2

Jako mały bonus podam przykład innej popularnej dwuwymiarowej tablicy:

$my_array = array(array("id" => "1", "data" => "2018-03-19", "cena" => "5", array ("id" => "2" , "data" => "2018-03-19", "cena" => "50", array("id" => "3", "data" => "2018-03-19", " cena" => "25",));

Przez popularność nie mam na myśli treści, ale przykład jej struktury. Załóżmy, że tutaj musisz wyświetlić tylko maksymalne i minimalne wartości kluczy „cena”.

Pierwszą rzeczą, której potrzebujesz w tym przypadku, jest uzyskanie nowej tablicy zawierającej tylko te dane:

$liczby = kolumna_tablicy($moja_tablica, "cena");

echo min($liczby); // Wypisz 5 echo max($liczby); // Wyjście 50

To kończy pracę z tablicami w PHP. Jeśli nagle struktura Twojej tablicy jest inna i nie wiesz jak ją przetworzyć - zadaj odpowiednie pytanie w komentarzach, postaram się Ci pomóc.

Znajdowanie największej i najmniejszej wartości tablicy jednowymiarowej w JavaScript

W przeciwieństwie do PHP, tablice są znacznie prostsze w JavaScript, a prosta jednowymiarowa tablica wyglądałaby tak:

var moja_tablica = ;

Indeksy nie są tutaj określone. Aby znaleźć maksymalną i minimalną wartość w tej tablicy, napiszemy dwie z naszych prostych funkcji:

Function arrayMax(array) ( return array.reduce(function(a, b) ( return Math.max(a, b); )); ) function arrayMin(array) ( return array.reduce(function(a, b) ( return Math.min(a, b); )); )

które służą do znajdowania potrzebnych nam wartości. Użycie jest również proste:

Alert(tablicaMax(moja_tablica)); // Wyświetl 74 alert(arrayMin(my_array)); // Wyjście 2

W takim przypadku liczby „2” i „74” będą wyświetlane jako minimalna i maksymalna wartość tablicy.

Znajdowanie największej i najmniejszej wartości tablicy wielowymiarowej w JavaScript

Tablice wielowymiarowe w JavaScript są równie proste i wyglądają tak:

var moja_tablica = [ , , ];

Spróbujmy znaleźć tutaj maksimum i minimum. Na początek napiszemy funkcję, za pomocą której, zgodnie ze znanym nam schematem, przedstawimy tę tablicę jako jednowymiarową:

var out_tablica = ; moja_tablica.forEach(funkcja(v) ( Array.prototype.push.apply(out_array, v); ));

I z przedmiotem Matematyka» uzyskaj potrzebne nam wartości:

Varmin = Math.min.apply(null, out_array); // Uzyskaj 2 var max = Math.max.apply(null, out_array); // Uzyskaj 74 alert(max); // Wyświetl 74 na ekranie

W rzeczywistości zamiast obiektu ” Matematyka„Możesz korzystać z naszych funkcji używanych w jednowymiarowej wersji tablicowej, ale aby zrozumieć, że każdy problem można rozwiązać na kilka sposobów – tutaj podałem nieco inne rozwiązanie.

No jak zwykle mały bonus. Rozważ inną tablicę wielowymiarową o następującej strukturze:

Var moja_tablica = [ ["Jeden", "2018-03-19", 5], ["Dwa", "2018-03-19", 50], ["Trzy", "2018-03-19", 25 ], ];

Jak widać, wartości liczbowe w każdej tablicy znajdują się na trzecim miejscu. Napiszmy trochę kodu i uzyskajmy odpowiednie wartości tylko z tych danych:

Varmin = +Nieskończoność; var max = -Nieskończoność; moja_tablica.forEach(funkcja(pozycja) ( if(+pozycja .)< min) { min =+ item; // Ищем минимальное значение } }); my_array.forEach(function(item) { if(+item >max) ( max =+ item; // Szukam maksymalnej wartości ) )); alert(min+" "+maks); // Wyświetl wynik na ekranie

To wszystko. Nie zapomnij wesprzeć projektu. Przed Tobą wiele ciekawych rzeczy!