Course
Introduction
Print Hello WorldAdd Two NumbersFind the Square RootCalculate the Area of a TriangleSwap Two VariablesConvert Kilometers to MilesConvert Celsius to FahrenheitWork With ConstantsWrite to ConsoleControl Flow
Solve Quadratic EquationCheck if a number is Positive, Negative, or ZeroCheck if a Number is Odd or EvenFind the Largest Among Three NumbersCheck Prime NumberPrint All Prime Numbers in an IntervalFind the Factorial of a NumberDisplay the Multiplication TablePrint the Fibonacci SequenceCheck Armstrong NumberFind Armstrong Number in an IntervalMake a Simple CalculatorFind the Sum of Natural NumbersCheck if the Numbers Have Same Last DigitFind HCF or GCDFind LCMFind the Factors of a NumberDisplay Fibonacci Sequence Using RecursionFunctions
Generate a Random NumberFind Sum of Natural Numbers Using RecursionGuess a Random NumberFind Factorial of Number Using RecursionConvert Decimal to BinaryFind ASCII Value of CharacterSet a Default Parameter Value For a FunctionCheck If a Variable is of Function TypePass Parameter to a setTimeout() FunctionPerform Function OverloadingPass a Function as ParameterArrays and Objects
Shuffle Deck of CardsCreate Objects in Different WaysRemove a Property from an ObjectCheck if a Key Exists in an ObjectClone a JS ObjectLoop Through an ObjectMerge Property of Two ObjectsCount the Number of Keys/Properties in an ObjectAdd Key/Value Pair to an ObjectConvert Objects to StringsReplace all Instances of a Character in a StringRemove Specific Item From an ArrayCheck if An Array Contains a Specified ValueInsert Item in an ArrayAppend an Object to an ArrayCheck if An Object is An ArrayEmpty an ArrayAdd Element to Start of an ArrayRemove Duplicates From ArrayMerge Two Arrays and Remove Duplicate ItemsSort Array of Objects by Property ValuesCreate Two Dimensional ArrayExtract Given Property Values from Objects as ArrayCompare Elements of Two ArraysGet Random Item From an ArrayPerform Intersection Between Two ArraysSplit Array into Smaller ChunksCheck If A Variable Is undefined or nullIllustrate Different Set OperationsStrings
Check Whether a String is Palindrome or NotSort Words in Alphabetical OrderReplace Characters of a StringReverse a StringCheck the Number of Occurrences of a Character in the StringConvert the First Letter of a String into UpperCaseCount the Number of Vowels in a StringCheck Whether a String Starts and Ends With Certain CharactersReplace All Occurrences of a StringCreate Multiline StringsFormat Numbers as Currency StringsGenerate Random StringCheck if a String Starts With Another StringTrim a StringCheck Whether a String Contains a SubstringCompare Two StringsEncode a String to Base64Replace All Line Breaks withGet File ExtensionGenerate a Range of Numbers and CharactersRemove All Whitespaces From a TextMiscellaneous
Display Date and TimeCheck Leap YearFormat the DateDisplay Current DateCompare The Value of Two DatesCreate Countdown TimerInclude a JS file in Another JS fileGenerate a Random Number Between Two NumbersGet The Current URLValidate An Email AddressImplement a StackImplement a QueueCheck if a Number is Float or IntegerGet the Dimensions of an ImageConvert Date to NumberJavaScript Program to Shuffle Deck of Cards
To understand this example, you should have the knowledge of the following JavaScript programming topics:
Example: Shuffle Deck of Cards
// program to shuffle the deck of cards
// declare card elements
const suits = ["Spades", "Diamonds", "Club", "Heart"];
const values = [
"Ace",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"Jack",
"Queen",
"King",
];
// empty array to contain cards
let deck = [];
// create a deck of cards
for (let i = 0; i < suits.length; i++) {
for (let x = 0; x < values.length; x++) {
let card = { Value: values[x], Suit: suits[i] };
deck.push(card);
}
}
// shuffle the cards
for (let i = deck.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * i);
let temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
console.log('The first five cards are:');
// display 5 results
for (let i = 0; i < 5; i++) {
console.log(`${deck[i].Value} of ${deck[i].Suit}`)
}
Output
The first five cards are:
4 of Club
5 of Diamonds
Jack of Diamonds
2 of Club
4 of Spades
In the above program, the suits and values variables contain the elements of a card.
The nested for
loop is used to create a deck of cards.
-
We need to create a deck of cards containing each suits with all the values. So the first
for
loop iterates over all the suits and the secondfor
loop iterates over the values. Then, the elements are created and added to thedeck
array. -
The array elements are stored as an object as:
[{Value: "Ace", Suit: "Spades"},{Value: "2", Suit: "Spades"}.....]
The second for
loop is used to shuffle the deck of cards.
- Math.random() generates a random number.
- Math.floor() returns the number by decreasing the value to the nearest integer value.
- A random number is generated between 0 and 51 and two card positions are swapped.
The third for
loop is used to display the first five cards in the new deck.