0
votes

Quelle est la différence entre les deux codes ci-dessous (je les ai couru, mais ils ont donné des sorties différentes)

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 de la longueur 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 à

celui-ci ont passé le test < Pré> xxx

celui-ci ci-dessous a échoué le test. xxx

Lorsque vous avez donné un tableau comme celui-ci ci-dessous xxx

La sortie doit être 2.

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


6 commentaires

Un problème potentiel est que Const fonction (volontaires, quartiers) { lancera un syntaxError , il ne passera donc pas de test si le test nécessite un code valide


comment? cette fonction const (volontaires, quartiers) {} est le modèle de fonction de démarreur qu'ils m'ont donné


Const fonction () {} n'est pas une syntaxe valide. fonction est un mot-clé réservé. Const attribue une valeur à un nom, vous permet de fournir un nom comme const Divide = fonction () {} . Ou, vous ne pouvez tout simplement pas utiliser const et utiliser une fonction nommée comme diviser () {}


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 dans la première fonction, il retournerait toujours nan , car vous divisez un tableau par un numéro


3 Réponses :


0
votes

On dirait que vous avez utilisé une syntaxe incorrecte pour déclarer la fonction. Faites attention à ce que 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:

p>

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));


0 commentaires

0
votes

Le résultat devrait être le même

  • dans la méthode 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))


0 commentaires

1
votes

Comment votre premier code est passé. Division de la matrice par numéro est Nan. Essayez ceci. XXX


0 commentaires