Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift.md
2022-08-19 20:53:29 +02:00

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];
}