mam tablicą JavaScript jak:Pobieranie JavaScript elementy rzędu tablicy po wystąpieniu elementu
var myArray = ['a', 'x', 'b', 'x', 'x', 'p', 'y', 'x', 'x', 'b', 'x', 'x'];
że chce pobrać tylko tych elementów macierzy, które pochodzą od 2 konsekwencji występowania danego elementu.
czyli w powyższej tablicy, chcę, aby pobrać wszystkie elementy, które przychodzą po konsekwencji 'x', 'x'
Więc moje wyjście powinno być:
'p'
'b'
Mam rozwiązanie jak:
var arrLength = myArray.length;
for (var i = 0; i < arrLength; i++) {
if(i+2 < arrLength && myArray[i] == 'x' && myArray[i+1] == 'x') {
console.log(myArray[i+2]);
}
};
To spełnia moje potrzeby, ale nie jest tak ogólne.
Na przykład. jeśli muszę sprawdzić 3 kolejne wystąpienia, to znowu muszę dodać warunek wewnątrz , jeśli dla myArray[i+2] == 'x'
i tak dalej.
Czy ktoś może zapewnić lepszy sposób na pobranie elementów?
Co jeśli masz 4 "x"? Jeśli trzecia została pobrana? Czy 3 i 4rt pobierają następujący przedmiot? – Oriol
Czy elementy tablicy są zawsze pojedynczymi literami? Jest to zasadniczo problem z ciągami (z wieloma dobrymi i wydajnymi rozwiązaniami), chociaż żaden z nich nie jest natywnie implementowany na 'Array' – Bergi
@Bergi, chcę ogólne rozwiązanie, więc ta tablica może zawierać pojedynczą literę lub może być tablicą łańcuchów . –