0
votes

JavaScript à l'aide de la méthode du tableau de rappel avec .map

J'ai cet exercice que j'ai besoin d'aide pour comprendre où je vais mal. Voici mon code jusqu'à présent.

// Exercise Two: In this exercise you will be given an array called 'cents'
// This array is a list of prices, but everything is in cents instead of dollars.
// Using the map method, divide every value by 100 and save it as a new array 'dollars'

function exerciseTwo(cents){ 

    function mapMethod(array, cb) { // created the map method
      let dollars = [];   // declaring the new array 'dollars'
        for (i=0; i < array.length; i++) { //iterating through the loop
          let updatedValue = cb(array[i] / 100); // dividing the iteration by 100
          dollars.push(updatedValue); //pushing the updated value to the new array 'dollars'
         }
          return dollars; 
    }
        // Please write your answer in the lines above.
          return dollars; // getting error that 'dollars' is not defined :(
}


3 commentaires

Vous devriez utiliser le natif js Carte () méthode .


Bienvenue dans le débordement de la pile! Veuillez prendre le Tour , regarder autour de vous et lire via le centre d'aide , en particulier Comment puis-je poser une bonne question? missions ne sont généralement pas arbitraires; Votre instructeur, votre didacticiel ou votre cours auront couvert les sujets nécessaires pour vous permettre de le faire. Revoir votre matériel de cours, des notes de classe, etc., et essayez-la. si vous rencontrez dans un problème spécifique , la recherche à fond, Rechercher de manière approfondie , et si vous êtes toujours bloqué, postez votre code et une description du problème spécifique. Les gens seront heureux d'aider.


Vous n'appelez pas votre fonction mapmethod n'importe où dans votre code et que les dollars sont définis dans MapMethod Portée non dans Exercisetwo Portée


3 Réponses :


0
votes

-Vous avez cette erreur parce que vous essayez de retourner des dollars et des dollars n'existe pas sur votre fonction principale, ceci n'est pas valide:

let updatedValue = cb(cents[i] / 100);


2 commentaires

Désolé je suis nouveau à cette plate-forme


Pas de gros problème. J'ai ajouté les espaces pour formater les blocs de code.



0
votes

Je pense que vous devriez distinguer entre déclarer et appeler une fonction. xxx pré>

et ce que vous avez fait dans le code ci-dessus est juste déclarer une fonction code> MapMethod code> à l'intérieur du Fonction Exercisetwo CODE>, qui sera appelée lorsque le système exécute le test. Mais votre fonction mapmethod code> ne sera pas appelée, simplement définie uniquement. P>

La fonction interne peut utiliser des variables des fonctions extérieures, mais pas vice versa. Ensuite, vous ne pouvez pas retourner dollar code> qui a déclaré une fonction intérieure mapmethod () code> de la fonction extérieure exercisetwo () code> p>

Suivez l'exigence . Vous devez simplifier votre code avec Carte a > Méthode. P>

function exerciseTwo(cents){
  const dollars = cents.map(cent => cent/100)
  return dollars
}


2 commentaires

Merci, je pensais sévèrement cela. Je veux savoir pourquoi vous avez utilisé une variable «Cons» au lieu de «Var» ou «Laissez». Les autres explications que j'ai parcourues à travers diverses sources semblaient tous se pencher sur «Let».


Premier var est la fonction de fonctionnement, laisse et const pour la portée du bloc. Et il recommande d'utiliser let et const au lieu de var . Vous pouvez rechercher sur Internet pourquoi. Deuxièmement, j'utilise const pour des données immuables, il vous empêchera de reproduire la variable dollar . const a = [1,2,3]; A = [4,5] ~> Cause erreur mais laisse ne sera pas. Que pourquoi j'ai utilisé const



0
votes

Voici le code préféré, écrit par l'auteur. Il existe évidemment plus de "façons de cuire un chat".

  const dollars = cents.map(function(price){
return price/100;


0 commentaires