Mere
Hvordan kan jeg tilføje nye array-elementer i begyndelsen af et array i Javascript?
Jeg har brug for at tilføje eller tilføje elementer i begyndelsen af et array.
Hvis mit array f.eks. ser ud som nedenfor:
[23, 45, 12, 67]
Og svaret fra mit AJAX-opkald er 34
, vil jeg have det opdaterede array til at se ud som følgende:
[34, 23, 45, 12, 67]
I øjeblikket planlægger jeg at gøre det på denne måde:
var newArray = [];
newArray.push(response);
for (var i = 0; i < theArray.length; i++) {
newArray.push(theArray[i]);
}
theArray = newArray;
delete newArray;
Er der nogen bedre måde at gøre dette på? Har Javascript nogen indbygget funktionalitet, der gør dette?
Kompleksiteten af min metode er O(n)
, og det ville være virkelig interessant at se bedre implementeringer.
1466
3
Brug [
unshift
][1]. Det er ligesom [push
][2], bortset fra at det tilføjer elementer til begyndelsen af arrayet i stedet for til slutningen.unshift
/push
- tilføjer et element til begyndelsen/enden af et arrayshift
/pop
- fjerner og returnerer det første/sidste element i et arrayEt simpelt diagram...
Quick Cheatsheet:
Begreberne shift/unshift og push/pop kan være lidt forvirrende, i hvert fald for folk, der ikke er bekendt med programmering i C.
Hvis du ikke er bekendt med sproget, er her en hurtig oversættelse af alternative udtryk, som måske er lettere at huske: