-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnonMutatingSplice.js
More file actions
32 lines (25 loc) · 1.66 KB
/
Copy pathnonMutatingSplice.js
File metadata and controls
32 lines (25 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// *** Functional Programming: Remove Elements from an Array Using slice Instead of splice ***
// A common pattern while working with arrays is when you want to remove items and keep the rest
// of the array. JavaScript offers the splice method for this, which takes arguments for the
// index of where to start removing items, then the number of items to remove. If the second
// argument is not provided, the default is to remove items through the end. However, the splice
// method mutates the original array it is called on.
// Here's an example:
// var cities = ["Chicago", "Delhi", "Islamabad", "London", "Berlin"];
// cities.splice(3, 1); // Returns "London" and deletes it from the cities array
// cities is now ["Chicago", "Delhi", "Islamabad", "Berlin"]
// As we saw in the last challenge, the slice method does not mutate the original array, but
// returns a new one which can be saved into a variable. Recall that the slice method takes
// two arguments for the indices to begin and end the slice (the end is non-inclusive), and
// returns those items in a new array. Using the slice method instead of splice helps to
// avoid any array-mutating side effects.
// Rewrite the function nonMutatingSplice by using slice instead of splice. It should limit
// the provided cities array to a length of 3, and return a new array with only the first three items.
// Do not mutate the original array provided to the function.
function nonMutatingSplice(cities) {
// Add your code below this line
return cities.slice(0,3);
// Add your code above this line
}
var inputCities = ["Chicago", "Delhi", "Islamabad", "London", "Berlin"];
nonMutatingSplice(inputCities);