powiedzmy Mam tablicę:Jak mogę zwrócić wszystkie poprzednie elementy w tablicy JavaScript niż aktualną wartość?
var myArr = new Array('alpha','beta','gamma','delta');
I że chcę funkcja zwraca tablicę wszystkich elementów przed danym punkcie:
function getAllBefore(current) {
var myArr = new Array('alpha','beta','gamma','delta');
var newArr = ???
return newArr;
}
getAllBefore('beta'); // returns Array('alpha');
getAllBefore('delta'); // returns Array('alpha','beta','gamma');
Co to najszybszy sposób, aby dostać to? Czy mogę podzielić tablicę na wartość? Czy muszę zapętlać każdy i budować nową tablicę w locie? Co polecasz?
Co jeśli chciałbym czegoś przeciwnego, tj. getAllAfter()
?
użytkowania 'indexOf' aby uzyskać pozycję pierwszego elementu, który pasuje do tego, co szukasz. Następnie użyj 'slice' od 0 do tego indeksu – Ian
Użyj' .indexOf() ', aby znaleźć dopasowanie i' .slice() ', aby utworzyć kopię części tablicy. – jfriend00
Nie trzeba wycinać, wystarczy ustawić długość indeksu + 1 (o ile modyfikowanie oryginału jest OK). :-) Ponadto, Array.prototype.indexOf to ES5, więc może potrzebować dodatkowej obsługi starszych przeglądarek. – RobG