Prime Table

Just displaying a table of prime numbers to a given number.

by UchiTesting

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css" />
</head>

<body>
    <table>
        <thead>
            <tr>
                <th class="colN">N</th>
                <th class="colResult">Result</th>
            </tr>
        </thead>
        <tbody id="output"></tbody>
    </table>
    <script src="script.js"></script>
</body>

</html>

CSS

table {
    min-width: 200px;
    background-color: #222;
    margin: auto;
    padding: 20px;
    border-radius: 15px;
    border-spacing: 50px 10px;
}

thead {
    position: sticky;
    inset-block-start: 0;
}

.colN {
    width: 50px
}

.colResult {
    width: 100px;
}

td {
    text-align: center;
    background-color: #333;
}

th {
    background-color: #223399;
    margin-bottom: 200px;
}

th,
td {
    color: lightgray;
    padding: 10px;
    border-radius: 20px;
}

.passed {
    color: green;
}

.notPassed {
    color: red;
}

JavaScript

var limit = Number(prompt("Max value for prime check?", "20"));
var results = findPrimes(limit);

var output = results
	.map(item => { return `<tr><td>${item.n}</td><td class="${item.isPrime ? 'passed">&#10004;' : 'notPassed">&#10006;'}</td></tr>` })
  .join('\n');
  
var outputElement = document.getElementById("output");
outputElement.innerHTML = output;

function findPrimes(upperLimit) {
    // debugger;
    let results = [];

    for (let number = 2; number <= upperLimit; number++) {
        let isPrime = true;
        for (let factor = 2; factor < number; factor++) {
            if (number % factor === 0) {
                isPrime = false;
                break;
            }

        }

        result = { n: number, isPrime };
        results.push(result);
    }

    return results;
}