Jaki jest najłatwiejszy sposób wstawienia nowego obiektu do tablicy obiektów w pozycji indeksu 0? Bez jQuery; MooTools w porządku; no unshift()
ponieważ jest to undefined
w IE zgodnie z w3schools.Tablice JavaScript
Odpowiedz
W3CSchools jest naprawdę przestarzały, metoda unshift
jest częścią standardu ECMAScript 3rd Edition który został zatwierdzony i opublikowany jako grudnia 1999.
Nie jest bez powodu, aby tego uniknąć w dzisiejszych czasach, jest obsługiwany z IE 5.5 w górę.
Jest bezpieczny w użyciu, nawet nowoczesne biblioteki, takie jak jQuery lub używają go wewnętrznie (możesz sprawdzić kod źródłowy :).
var array = [2,3];
array.unshift(1); // returns 3
// modifies array to [1, 2, 3]
Ta metoda zwraca nową długość tablicy i wstawia element przekazany jako argument na pierwszej pozycji tablicy.
-1 Ponieważ OP konkretnie zażądał "no" unshift() '" –
Guys, jest nie ma powodu, aby unikać 'unshift' ... – CMS
Pytający nie określa' unshift', ponieważ w3schools mówi, że nie jest obsługiwany w IE. Jak wskazuje @CMS, jest to nieaktualne: w3schools nie ma nawet * śledzenia udziału w rynku IE <6. –
Przy użyciu metody splice.
array.splice(index,howmany,element1,.....,elementX);
Do wkładania 'howMany' = 0
'unshift' i' concat' są prostsze niż 'splice' dla tego, co chce zrobić @JamesBrownIsDead. –
@ Dominic, bardzo prawdziwe. Sądzę, że jestem po prostu "leniwy", aby zapamiętać różne metody i tylko te bardziej ogólne: P –
Spawanie @okw jest miłe :) –
Można spróbować to:
var newItem = 3;
arr = [newItem].concat(arr);
Inną opcją jest użycie push
i odwrócić indeksy - można łatwo napisać obiekt, który to robi.
użyłbym unshift()
jeśli zamiarem jest, aby zmodyfikować tablicę, w przeciwnym razie można użyć concat()
jak sugeruje Kobi (która zwraca nową tablicę i nie modyfikować zaangażowanych tablic):
var arr = [1, 2], newItem = 3;
var newArr = [newItem].concat(arr); // newArr = [1, 2, 3], arr still = [1, 2]
Patrz: concat
- 1. Dziedziczenie i tablice JavaScript
- 2. Początkowe tablice JavaScript i licznik
- 3. Tablice JavaScript utworzone za pomocą Object.create - nie prawdziwe tablice?
- 4. Czy tablice JavaScript są rzeczywiście połączonymi listami?
- 5. Porównaj dwa tablice JavaScript i usuń duplikaty.
- 6. Javascript: efektywnie porównać dwie tablice całkowite
- 7. Synchronizacja JavaScript dwie tablice (obiektów)/znajdź deltę
- 8. javascript, sortuj 2 tablice w zależności
- 9. Obiekty javascript vs tablice vs JSON
- 10. Tablice skrzyżowań a tablice kluczy obcych?
- 11. Jak przekonwertować tablice Rhino-JavaScript do Java-Arrays
- 12. Czy obsługa JavaScript obsługuje tablice/listy, takie jak Python?
- 13. Jak scalić dwie tablice, aby utworzyć jedną tablicę w JavaScript?
- 14. Czy tablice JavaScript mają odpowiednik "jeśli jest na liście" Pythona?
- 15. Łącząc dwie tablice w celu utworzenia JavaScript Object
- 16. Jak sprawdzić, czy tablice z typami javascript są obsługiwane?
- 17. Czy powershell ma tablice asocjacyjne?
- 18. Twórz dwuwymiarowe tablice i subar tablice dostępu w Ruby
- 19. Tablice wskaźników, które wskazują na tablice liczb całkowitych
- 20. Jak połączyć dwie tablice w Objective-C?
- 21. Tablice z 0 elementami
- 22. Usterka segmentacji, duże tablice
- 23. Łączenie Tablice w Scala
- 24. Obciążone i postrzępione tablice
- 25. PowerShell Tablice wielowymiarowe
- 26. Tablice Java i PostgreSQL
- 27. Java porównujące Tablice
- 28. ICD10 TABLICE MYSQL
- 29. dwuwymiarowe tablice ze wskazówkami
- 30. Tablice używające komendanta
Prawdopodobnie nadal będziesz otrzymywać odpowiedzi mówiąc "czy próbowałeś jquery?". :) – Alconja
@JamesBrownIsDead, czy próbowałeś jQuery? Naprawdę powinieneś. : P: P –
@CMS jest poprawny: 'unshift' działa na IE: http://jsbin.com/umolo – Kobi