Null type checks is not considered by the tests length
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- testing
Piste de recherche
Commencez par lire 4-count-types.js et les tests associés afin de comprendre comment countTypesInArray est actuellement limité à 200 caractères. Décidez, à partir de la discussion de l’issue, si null doit être compté explicitement ou si l’attente du test doit être modifiée, puis vérifiez que le comportement choisi est couvert sans enfreindre la contrainte de longueur de l’exercice.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
There is a problem with countTypesInArray function (4-count-types.js). The tests require a solution to be 200 signs max, but in this case, we kinda lose the check for nulls.
As you know null in JavaScript has a type of object. Thus, the implementation you require will count objects but not nulls. So, the function is not suitable for checking all the JS types.
I clearly understand that such a check can be done using a ternary operator but it's not convenient and intuitive enough.
The implementation below considers this JS's quirk:
const data = [
false,
'a',
22,
'hey',
undefined,
42,
12,
true,
{ a: 12 },
{ name: 'Jack' },
'foo',
'bar',
true,
null,
undefined,
Symbol('a'),
null
];
const countTypesInArray = data => {
const h = {};
for (const item of data) {
if (typeof item === 'object' && item === null) {
h['null'] = 1;
if (h['null'] > 0) {
h['null']++;
}
} else if (typeof item in h) {
h[typeof item]++;
} else {
h[typeof item] = 1;
}
}
return h;
};
console.log(countTypesInArray(data));
So, maybe you should consider an option for making tests a little bit more loose for null checks.
- Langage dominant
- JavaScript
- Étoiles
- 39
- Forks
- 228
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de HowProgrammingWorks/DataTypes
-
Incorrect tasks 2 and 3 Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 55/100
HowProgrammingWorks/DataTypes#153 ·
-
Bitwise operators Ouverte
HowProgrammingWorks/DataTypes#4 · 1 personne assignée ·
-
Assignment operators Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 48/100
-
Arithmetic operators Ouverte
HowProgrammingWorks/DataTypes#2 · 2 personnes assignées ·
Toutes les issues de HowProgrammingWorks/DataTypes
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
babalae/bettergi-scripts-list#3674 ·
-
ecosystem wording
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
matrix-org/matrix.org#3649 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
vadimdemedes/ink#1029 ·
-
code-quality refactoring
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
langchain-ai/deepagents#6450 ·