if(pf[i].length > highest){
highest = pf[i].length;
}
Jaki jest najbardziej efektywny sposób przekazania powyższego oświadczenia?Co to jest skrótu javascript dla tego?
if(pf[i].length > highest){
highest = pf[i].length;
}
Jaki jest najbardziej efektywny sposób przekazania powyższego oświadczenia?Co to jest skrótu javascript dla tego?
Math.max
zwraca największą zero lub więcej liczb.
highest = Math.max(pf[i].length, highest)
Po prostu z ciekawości, co oznaczałoby największe z zera? i do czego byś tego używał? – Sam
Zgodnie z [docs] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max): "Jeśli nie podano żadnych argumentów, wynikiem jest -Infinity" . Może to być przydatne przy porównywaniu wyniku jednego wywołania Math.max do innego. Lub gdy liczba argumentów jest znana tylko w środowisku wykonawczym i może wynosić zero –
Spróbuj inline IF (operator trójargumentowy):
highest = pf[i].length > highest ? pf[i].length : highest;
Zwany potrójnym. Czy nie byłoby to w sposób niepożądany nadpisać "najwyższy" pustym łańcuchem w fałszywym przypadku? Proponuję '...: najwyższy;' – arcyqwerty
OK, dziękuję, aktualizuję moją odpowiedź. –
Można użyć Math.max
uzyskać maksymalnie dwóch wartości, highest
i pf[i].length
.
highest = Math.max(highest, pf[i].length);
Można też użyć operatora trójskładnikowego.
highest = pf[i].length > highest ? pf[i].length : highest;
// ^^^^^^^^^^^^^^^^^^^^^^ Condition
// ^^^^^^^^^^^^ Execute when True
// ^^^^^^^ Execute when False
Wartość z operacji Ternary jest zwracana i ustawiana jest na zmienną highest
.
Czy masz na myśli najbardziej zwięzłe? czytelny? Ponieważ byłoby to trudne do pokonania pod względem wydajności obliczeniowej. –
Możliwy duplikat [javascript/jquery - wybierz większą z dwóch liczb] (http://stackoverflow.com/questions/13424721/javascript-jquery-select-the- większy-z-dwóch numerów) –