Array.push()
and Array.unshift()
.
Both methods take one or more elements as parameters and add those elements to the array the method is being called on; the push()
method adds elements to the end of an array, and unshift()
adds elements to the beginning. Consider the following:
```js
let twentyThree = 'XXIII';
let romanNumerals = ['XXI', 'XXII'];
romanNumerals.unshift('XIX', 'XX');
// now equals ['XIX', 'XX', 'XXI', 'XXII']
romanNumerals.push(twentyThree);
// now equals ['XIX', 'XX', 'XXI', 'XXII', 'XXIII']Notice that we can also pass variables, which allows us even greater flexibility in dynamically modifying our array's data.
```
mixedNumbers
, which we are passing an array as an argument. Modify the function by using push()
and unshift()
to add 'I', 2, 'three'
to the beginning of the array and 7, 'VIII', 9
to the end so that the returned array contains representations of the numbers 1-9 in order.
mixedNumbers(["IV", 5, "six"])
should now return ["I", 2, "three", "IV", 5, "six", 7, "VIII", 9]
testString: assert.deepEqual(mixedNumbers(['IV', 5, 'six']), ['I', 2, 'three', 'IV', 5, 'six', 7, 'VIII', 9], 'mixedNumbers(["IV", 5, "six"])
should now return ["I", 2, "three", "IV", 5, "six", 7, "VIII", 9]
');
- text: The mixedNumbers
function should utilize the push()
method
testString: assert.notStrictEqual(mixedNumbers.toString().search(/\.push\(/), -1, 'The mixedNumbers
function should utilize the push()
method');
- text: The mixedNumbers
function should utilize the unshift()
method
testString: assert.notStrictEqual(mixedNumbers.toString().search(/\.unshift\(/), -1, 'The mixedNumbers
function should utilize the unshift()
method');
```