If you missed the introductory post, it's here. For a list of previously solved katas, please refer to the bottom of this page.
If this is your first time seeing my post, please note - these katas are probably randomly assigned per user so please don't go into Codewars thinking we will have exactly the same user experience, I am just posting these in the order that I got them.
Kata #33
DESCRIPTION:
Given an array of integers your solution should find the smallest integer.
For example:
- Given
[34, 15, 88, 2]your solution will return2 - Given
[34, -345, -1, 100]your solution will return-345
You can assume, for the purpose of this kata, that the supplied array will not be empty.
Starting code:
class SmallestIntegerFinder {
findSmallestInt(args) {
}
}
My attempt:
class SmallestIntegerFinder {
findSmallestInt(args) {
let sorted = args.sort((a,b)=>a-b)
return sorted[0]
}
}
Rank #1 in 'Best Practice':
class SmallestIntegerFinder {
findSmallestInt(args) {
return Math.min(...args)
}
}
Rank #2 about the same:
class SmallestIntegerFinder {
findSmallestInt(args) {
return Math.min.apply(null, args);
}
}
Rank #3:
class SmallestIntegerFinder {
findSmallestInt(args) {
args.sort(function(a, b) {
return a - b; } )
return args[0];
}
}
Ranks #4 and #5 are similar to the aforementioned approaches:
//Rank #4
class SmallestIntegerFinder {
findSmallestInt(args) {
return args.sort((a,b)=>a-b)[0];
}
}
//Rank #5
class SmallestIntegerFinder {
findSmallestInt( $ ) {
return Math.min(...$);
}
}
Whereas rank #6 shows us how to do it with .reduce():
class SmallestIntegerFinder {
findSmallestInt(args) {
return args.reduce(function(prev, curr, index, array) {
return prev < curr ? prev : curr;
});
}
}
That's it for Kata #33, stay tuned for more katas to be solved!
Link to Kata #1: Square(n) Sum
Link to Kata #2: Convert a Number to a String
Link to Kata #3: DNA to RNA Conversion
Link to Kata #4: Remove First and Last Character
Link to Kata #5: MakeUpperCase
Link to Kata #6: Total amount of points
Link to Kata #7: A Needle in the Haystack
Link to Kata #8: Sum of positive
Link to Kata #9: Basic Mathematical Operations
Link to Kata #10: Beginner - Reduce but Grow
Link to Kata #11: Square Every Digit
Link to Kata #12: Friend or Foe?
Link to Kata #13: Grasshopper - Summation
Link to Kata #14: Get the Middle Character
Link to Kata #15: Descending Order
Link to Kata #16: String ends with?
Link to Kata #17: Sum of two lowest positive integers
Link to Kata #18: Sum of odd numbers
Link to Kata #19: Find the next perfect square!
Link to Kata #20: Reversed Strings
Link to Kata #21: Jaden Casing Strings
Link to Kata #23: Returning Strings
Link to Kata #24: Opposite number
Link to Kata #25: Are You Playing Banjo?
Link to Kata #26: Beginner Series #1 School Paperwork
Link to Kata #27: Remove String Spaces
Link to Kata #28: Invert values
Link to Kata #30: Beginner Series #2 Clock