2.5 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 587d78b2367417b2b2512b0f | Entfernen von Elementen aus einem Array mit pop() und shift() | 1 | 301165 | remove-items-from-an-array-with-pop-and-shift |
--description--
Sowohl push() und unshift() verfügen über entsprechende Methoden, welche nahezu funktionale Gegensätze sind: pop() und shift(). Wie du vielleicht schon erraten hast, entfernt pop() ein Element vom Ende des Arrays anstatt es hinzuzufügen, während shift() ein Element vom Anfang entfernt. Der Hauptunterschied zwischen pop() und shift() und ihre Cousinen push() und unshift() ist, dass keine Methode Parameter benötigt und jede nur einen Array erlaubt, dass dieser von einem einzelnen Element gleichzeitig verändert werden kann.
Schauen wir uns das mal an:
let greetings = ['whats up?', 'hello', 'see ya!'];
greetings.pop();
greetings hätte den Wert ['whats up?', 'hello'].
greetings.shift();
greetings hätte den Wert ['hello'].
Wir können den Wert eines entfernten Elements auch mit einer der folgenden Methoden ausgeben:
let popped = greetings.pop();
greetings hätte den Wert [] und popped hätte den Wert hello.
--instructions--
Wir haben die Funktion popShift definiert, die ein Array als Argument nimmt und ein neues Array ausgibt. Verändere die Funktion, indem du pop() und shift() verwendest, um das erste und das letzte Element des Argumentationsarrays zu entfernen, und weise die entfernten Elemente zu deren passenden Variablen, sodass das ausgegebene Array deren Werte enthält.
--hints--
popShift(["challenge", "is", "not", "complete"]) soll ["challenge", "complete"] ausgeben
assert.deepEqual(popShift(['challenge', 'is', 'not', 'complete']), [
'challenge',
'complete'
]);
Die Funktion popShift soll die Methode pop() verwenden
assert.notStrictEqual(popShift.toString().search(/\.pop\(/), -1);
Die FunktionpopShift soll die Methode shift() verwenden
assert.notStrictEqual(popShift.toString().search(/\.shift\(/), -1);
--seed--
--seed-contents--
function popShift(arr) {
let popped; // Change this line
let shifted; // Change this line
return [shifted, popped];
}
console.log(popShift(['challenge', 'is', 'not', 'complete']));
--solutions--
function popShift(arr) {
let popped = arr.pop(); // Change this line
let shifted = arr.shift(); // Change this line
return [shifted, popped];
}