Beau Carnes 409c39abf1 feat(curriculum): Add Basic JS Scrimba links (#34789)
* feat(curriculum): Add Basic JS Scrimba links

* Fix: Add missing video url.

* fix: update videoUrl
2019-02-14 09:24:02 -08:00

2.1 KiB

id, title, challengeType, videoUrl
id title challengeType videoUrl
56bbb991ad1ed5201cd392cd Manipulate Arrays With shift() 1 https://scrimba.com/c/cRbVETW

Description

pop() always removes the last element of an array. What if you want to remove the first? That's where .shift() comes in. It works just like .pop(), except it removes the first element instead of the last.

Instructions

Use the .shift() function to remove the first item from myArray, assigning the "shifted off" value to removedFromMyArray.

Tests

tests:
  - text: <code>myArray</code> should now equal <code>[["dog", 3]]</code>.
    testString: assert((function(d){if(d[0][0] == 'dog' && d[0][1] === 3 && d[1] == undefined){return true;}else{return false;}})(myArray), '<code>myArray</code> should now equal <code>[["dog", 3]]</code>.');
  - text: <code>removedFromMyArray</code> should contain <code>["John", 23]</code>.
    testString: assert((function(d){if(d[0] == 'John' && d[1] === 23 && typeof removedFromMyArray === 'object'){return true;}else{return false;}})(removedFromMyArray), '<code>removedFromMyArray</code> should contain <code>["John", 23]</code>.');

Challenge Seed

// Example
var ourArray = ["Stimpson", "J", ["cat"]];
var removedFromOurArray = ourArray.shift();
// removedFromOurArray now equals "Stimpson" and ourArray now equals ["J", ["cat"]].

// Setup
var myArray = [["John", 23], ["dog", 3]];

// Only change code below this line.
var removedFromMyArray;


After Test

(function(y, z){return 'myArray = ' + JSON.stringify(y) + ' & removedFromMyArray = ' + JSON.stringify(z);})(myArray, removedFromMyArray);

Solution

var myArray = [["John", 23], ["dog", 3]];

// Only change code below this line.
var removedFromMyArray = myArray.shift();