feat: add logic
This commit is contained in:
parent
6f57380e90
commit
c5221640c3
1 changed files with 39 additions and 2 deletions
41
index.js
41
index.js
|
|
@ -1,3 +1,40 @@
|
|||
import { input } from '@inquirer/prompts';
|
||||
import { input } from "@inquirer/prompts";
|
||||
|
||||
const answer = await input({ message: 'Enter your name' });
|
||||
const answer = await input({
|
||||
message:
|
||||
"Enter an array of string numbers containing only one letter separated by commas: (e.g. 932c, 832u32, 2344b)",
|
||||
});
|
||||
|
||||
const array = answer.split(",");
|
||||
|
||||
if (check_empty_array(array)) {
|
||||
console.log([]);
|
||||
} else {
|
||||
if (check_only_one_letter(array)) console.log(sort_by_letter(array));
|
||||
}
|
||||
|
||||
function check_empty_array(array) {
|
||||
if (array[0] === "") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function check_only_one_letter(array) {
|
||||
return array.every((element) => {
|
||||
const letters = element.match(/[a-zA-Z]/g);
|
||||
|
||||
if (letters.length !== 1) {
|
||||
return console.log("Each string must contain exactly one letter.");
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
function sort_by_letter(array) {
|
||||
return array.sort((a, b) => {
|
||||
const lettersA = a.match(/[a-zA-Z]/g);
|
||||
const lettersB = b.match(/[a-zA-Z]/g);
|
||||
return lettersA[0].localeCompare(lettersB[0]);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue