Je travaillais sur un défi dans JavaScript et que l'instruction consiste à diviser le nombre de volontaires avec celui des quartiers.
J'ai utilisé la méthode code> de la longueur code> pour obtenir la longueur et l'exécution L'opération, mais une chose qui me bugs est que je l'ai essayé avec deux approches, l'une passée et on ne pouvait pas passer le test, les codes sont inférieurs à p>
celui-ci ont passé le test p> < Pré> xxx pré>
celui-ci ci-dessous a échoué le test. p> Lorsque vous avez donné un tableau comme celui-ci ci-dessous p> La sortie doit être 2. P> Mon inquiétude est maintenant de connaître la différence entre les deux approches que j'ai utilisées et pourquoi l'autre a passé et l'autre a échoué.
S'il vous plaît, j'apprécierai votre aide pour me clarifier p> p>
3 Réponses :
On dirait que vous avez utilisé une syntaxe incorrecte pour déclarer la fonction. Faites attention à ce que p> fonction code> est un mot clé réservé en JavaScript. SO Const fonction {...} code> n'est pas une syntaxe valide. Vous devez nommer votre fonction après la fonction code>. Essayez d'écrire comme ceci: const volunteers = [
'Sally',
'Jake',
'Brian',
'Hamid'
];
const neighbourhoods = [
'Central Valley',
'Big Mountain',
'Little Bridge',
'Bricktown',
'Brownsville',
"Paul's Boutique",
'Clay Park',
'Fox Nest'
];
function calc (volunteers, neighborhood) {
return neighborhood.length / volunteers.length;
}
const constCalc = (volunteers, neighborhood) =>{
return neighborhood.length / volunteers.length;
}
console.log(`usual declaration`, calc(volunteers, neighbourhoods));
console.log(`arrow function:`, constCalc(volunteers, neighbourhoods));
Le résultat devrait être le même
deux code> au lieu de bénévoles.length / highbourhoods.Length code> il devrait être Queue et bénévoles.length code> parce que dans les opérations mathématiques comme la division, l'ordre des facteurs modifie le résultat li>
ul> Code fixe: p>
p>
const volunteers = ['Sally','Jake','Brian','Hamid']
const neighbourhoods = ['Central Valley','Big Mountain','Little Bridge','Bricktown','Brownsville',"Paul's Boutique",'Clay Park','Fox Nest']
const one = (volunteers, neighbourhoods) => {
const neighbourhoodsLength = neighbourhoods.length
const volunteersLength = volunteers.length
const evaluate = neighbourhoodsLength / volunteersLength
return evaluate
}
const two = (volunteers, neighbourhoods) => {
return neighbourhoods.length / volunteers.length
}
console.log('one:', one(volunteers, neighbourhoods))
console.log('two:', two(volunteers, neighbourhoods)) Comment votre premier code est passé. Division de la matrice par numéro est Nan. Essayez ceci.
Un problème potentiel est que
Const fonction (volontaires, quartiers) { code> lancera unsyntaxError code>, il ne passera donc pas de test si le test nécessite un code validecomment? cette fonction
const (volontaires, quartiers) {} code> est le modèle de fonction de démarreur qu'ils m'ont donnéConst fonction () {} code> n'est pas une syntaxe valide.fonction code> est un mot-clé réservé.Const code> attribue une valeur à un nom, vous permet de fournir un nom commeconst Divide = fonction () {} code>. Ou, vous ne pouvez tout simplement pas utiliserconst code> et utiliser une fonction nommée commediviser () {} code>Pourquoi la première fonction divise-t-elle le nombre de quartiers avec des volontaires et l'autre fonction le contraire?
Votre première fonction ne doit pas fonctionner. Vous ne prenez même pas la longueur du tableau de quartier
Même si vous avez corrigé le problème
const code> dans la première fonction, il retournerait toujoursnan code>, car vous divisez un tableau par un numéro