hint [2/8]
You will get an array that contains sub arrays of numbers and you need to return an array with the largest number from each of the sub arrays.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [3/8]
You will need to keep track of the array with the answer and the largest number of each sub-array.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [4/8]
You can work with multidimensional arrays by Array[Index][SubIndex]
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [5/8]
Pay close attention to the timing of the storing of variables when working with loops
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [6/8]
Solutions ahead!
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [7/8]
function largestOfFour(arr) {
var results = [];
for (var n = 0; n < arr.length; n++) {
var largestNumber = 0;
for (var sb = 0; sb < arr[n].length; sb++) {
if (arr[n][sb] > largestNumber) {
largestNumber = arr[n][sb];
}
}
results[n] = largestNumber;
}
return results;
}
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [8/8]
function largestOfFour(arr) {
// You can do this!
// Yes, I can. :P
return arr.map(Function.apply.bind(Math.max, null));
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
Function.apply.bind(Math.max, null)
makes a new function accepting the arr.map
values i.e. the inner arrays.Now the new function needs to find the max of the input inner array.
Math.max
and accepts input as an array.e.g. wouldn't be nice if the Math.max
would be accepting inputs like this:Math.max([9, 43, 20, 6]); // 43
.
Function.apply
method but it invokes the context function.i.e. Math.max.apply(null, [9, 43, 20, 6]); // 43
would invoke the Max.max
method.
Here we're passing
null
as the context of theFunction.apply
method asMath.max
doesn't need any context.
But that's not useful for arr.map
which accepts a function value. So we create a function value using Function.bind
method.
Function.apply
is a static method of Function
Object, so we can call Function.prototype.bind
on Function.apply
i.e. Function.apply.bind
.Now we pass the context for Function.apply.bind
call i.e. Math.max
method as the 1st argument which would give us the functionality of Math.max
method.
Function.apply
method takes a context as it's 1st argument, hence, we need to pass a bogus context for Function.apply
method.null
as the 2nd param to Function.apply.bind
which gives a context to the Math.max
method.Math.max
is independent of any context, hence, it ignores the bogus context given by Function.apply
method call. So in the end we get a function (using Function.bind
method) that works like Math.max
but accepts params as an array like Function.apply
:smiley:
comprendido? :neutral_face:
NOTE: This is an advanced solution. NOT FOR BEGINNERS.
Reference:-
If you found this page useful, you can give thanks by copying and pasting this on the main chat: Thanks @Rafase282 @abhisekp
NOTE: Please add your username only if you have added any relevant main contents to the wiki page. (Please don't remove any existing usernames.)
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [1/8]
Make sure you've tried to hard to solve it yourself before proceeding. :construction:
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [2/8]
You will get an array that contains sub arrays of numbers and you need to return an array with the largest number from each of the sub arrays.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [3/8]
You will need to keep track of the array with the answer and the largest number of each sub-array.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
function titleCase(str) {
return str;
}
titleCase("I'm a little tea pot");
Return the provided string with the first letter of each word capitalized.
more info:
bf details
|bf links
|hint
hint [1/8]
Make sure you've tried to hard to solve it yourself before proceeding. :construction:
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [2/8]
You will get an array that contains sub arrays of numbers and you need to return an array with the largest number from each of the sub arrays.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [3/8]
You will need to keep track of the array with the answer and the largest number of each sub-array.
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [4/8]
You can work with multidimensional arrays by Array[Index][SubIndex]
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [5/8]
Pay close attention to the timing of the storing of variables when working with loops
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [6/8]
Solutions ahead!
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
hint [7/8]
function largestOfFour(arr) {
var results = [];
for (var n = 0; n < arr.length; n++) {
var largestNumber = 0;
for (var sb = 0; sb < arr[n].length; sb++) {
if (arr[n][sb] > largestNumber) {
largestNumber = arr[n][sb];
}
}
results[n] = largestNumber;
}
return results;
}
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
function titleCase(str) {
return str;
}
titleCase("I'm a little tea pot");
Return the provided string with the first letter of each word capitalized.
more info:
bf details
|bf links
|hint
hint [8/8]
function largestOfFour(arr) {
// You can do this!
// Yes, I can. :P
return arr.map(Function.apply.bind(Math.max, null));
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
Function.apply.bind(Math.max, null)
makes a new function accepting the arr.map
values i.e. the inner arrays.Now the new function needs to find the max of the input inner array.
Math.max
and accepts input as an array.e.g. wouldn't be nice if the Math.max
would be accepting inputs like this:Math.max([9, 43, 20, 6]); // 43
.
Function.apply
method but it invokes the context function.i.e. Math.max.apply(null, [9, 43, 20, 6]); // 43
would invoke the Max.max
method.
Here we're passing
null
as the context of theFunction.apply
method asMath.max
doesn't need any context.
But that's not useful for arr.map
which accepts a function value. So we create a function value using Function.bind
method.
Function.apply
is a static method of Function
Object, so we can call Function.prototype.bind
on Function.apply
i.e. Function.apply.bind
.Now we pass the context for Function.apply.bind
call i.e. Math.max
method as the 1st argument which would give us the functionality of Math.max
method.
Function.apply
method takes a context as it's 1st argument, hence, we need to pass a bogus context for Function.apply
method.null
as the 2nd param to Function.apply.bind
which gives a context to the Math.max
method.Math.max
is independent of any context, hence, it ignores the bogus context given by Function.apply
method call. So in the end we get a function (using Function.bind
method) that works like Math.max
but accepts params as an array like Function.apply
:smiley:
comprendido? :neutral_face:
NOTE: This is an advanced solution. NOT FOR BEGINNERS.
Reference:-
If you found this page useful, you can give thanks by copying and pasting this on the main chat: Thanks @Rafase282 @abhisekp
NOTE: Please add your username only if you have added any relevant main contents to the wiki page. (Please don't remove any existing usernames.)
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]
function mutation(arr) {
return arr;
}
mutation(['hello', 'hey']);
Return true if the string in the first element of the array contains all of the letters of the string in the second element of the array.
more info:
bf details
|bf links
|hint
hint [1/8]
Make sure you've tried to hard to solve it yourself before proceeding. :construction:
type
hint
for next hint :pencil: [Contribute at the FCC Wiki]