Metoden splice
Metoden splice tar bort eller lägger till
element i en array. Du kan endast ta bort element,
endast lägga till element eller göra båda
samtidigt. Metoden är mycket mångsidig och
svår att förstå.
Metoden ändrar själva arrayen och returnerar
samtidigt en array med de borttagna elementen.
Den första parametern tar metoden emot elementnumret
i arrayen som ska tas bort. Den andra parametern
- hur många element i arrayen som ska tas bort.
Om den sätts till 0 - så kommer element inte att
tas bort (endast nya läggs till).
Sedan följer element, komma-separerade, som
behöver läggas till i arrayen (är valfria
parametrar). Dessa element kommer att läggas till istället för
de borttagna elementen i arrayen.
Om det inte skedde någon borttagning (när den andra parametern är
0) - kommer element att infogas i arrayen med start
från den position som anges av den första parametern
i metoden. Den första parametern kan ha ett negativt
värde. I detta fall börjar positioneringen inte
från början av arrayen, utan från slutet. Det sista elementet
kommer då att ha nummer -1.
Syntax
array.splice(varifrån vi tar bort, hur många vi tar bort, [infoga], [infoga]...);
Exempel
Låt oss ta bort tre element, med start från det första:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Resultat av kodkörning:
['a', 'e']
Exempel
Låt oss skriva ut arrayen med borttagna element:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Resultat av kodkörning:
['b', 'c', 'd']
Exempel
Låt oss först ta bort elementet med nummer
2, och sedan istället för det infoga ytterligare
tre nya element:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Resultat av kodkörning:
['a', 'b', '1', '2', '3', 'd', 'e']
Exempel
Låt oss nu inte ta bort någonting, men
på position 2, infoga ytterligare tre nya
element:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Resultat av kodkörning:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Exempel . Negativt värde
Låt oss ta bort det näst sista elementet:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Resultat av kodkörning:
['a', 'b', 'c', 'e']