--- id: 56bbb991ad1ed5201cd392cc title: Manipulate Arrays With pop() challengeType: 1 videoUrl: 'https://scrimba.com/c/cRbVZAB' forumTopicId: 18236 dashedName: manipulate-arrays-with-pop --- # --description-- Another way to change the data in an array is with the `.pop()` function. `.pop()` is used to pop a value off of the end of an array. We can store this popped off value by assigning it to a variable. In other words, `.pop()` removes the last element from an array and returns that element. Any type of entry can be popped off of an array - numbers, strings, even nested arrays. ```js const threeArr = [1, 4, 6]; const oneDown = threeArr.pop(); console.log(oneDown); console.log(threeArr); ``` The first `console.log` will display the value `6`, and the second will display the value `[1, 4]`. # --instructions-- Use the `.pop()` function to remove the last item from `myArray` and assign the popped off value to a new variable, `removedFromMyArray`. # --hints-- `myArray` should only contain `[["John", 23]]`. ```js assert( (function (d) { if (d[0][0] == 'John' && d[0][1] === 23 && d[1] == undefined) { return true; } else { return false; } })(myArray) ); ``` You should use `pop()` on `myArray`. ```js assert(/removedFromMyArray\s*=\s*myArray\s*.\s*pop\s*(\s*)/.test(code)); ``` `removedFromMyArray` should only contain `["cat", 2]`. ```js assert( (function (d) { if (d[0] == 'cat' && d[1] === 2 && d[2] == undefined) { return true; } else { return false; } })(removedFromMyArray) ); ``` # --seed-- ## --after-user-code-- ```js if (typeof removedFromMyArray !== 'undefined') (function(y, z){return 'myArray = ' + JSON.stringify(y) + ' & removedFromMyArray = ' + JSON.stringify(z);})(myArray, removedFromMyArray); ``` ## --seed-contents-- ```js // Setup const myArray = [["John", 23], ["cat", 2]]; // Only change code below this line ``` # --solutions-- ```js const myArray = [["John", 23], ["cat", 2]]; const removedFromMyArray = myArray.pop(); ```