J'essaie de doubler chaque élément dans un tableau avec A pour boucle et continuez à obtenir J'ai essayé pour la boucle, attendu: chaque élément de tableau multiparé par deux et retourné: p> deviendrait: p> NAN code> erreur ... je l'apprends toujours Tout conseil serait apprécié. P> .map () code> et d'autres méthodes, mais je ne peux tout simplement pas voir le problème évident ... p>
5 Réponses :
Entrée code> Tableau en utilisant .map () code>. li>
- Initialisez le nouveau tableau Utilisation de
Array () Code> Constructeur et remplissez-le à l'aide de .fill () Code> Méthode des tableaux. LI>
- Enfin, vous pouvez convertir une gamme de tableaux en un seul tableau à l'aide de
.concat () code> et étalement opérateur. LI>
p>
const input = ['onions', 'tomatoes', 'garlic', 'fontina'];
const dupeValues = (arr, factor) => [].concat(...arr.map(s => new Array(factor).fill(s)));
console.log(dupeValues(input, 2));
console.log(dupeValues(input, 3));
Comme vous pouvez le constater que l'utilisateur est nouveau à la programmation. Ajout d'une explication à la réponse sera étonnée aux lecteurs op et futurs.
Merci beaucoup tout le monde pour votre aide. J'ai appris une tonne de toutes les réponses et en utilisant la figure avec le tableau.Reduce () et la propagation de l'opérateur ... merci pour votre temps ...
Pour le garder générique +1
Voici un moyen de le faire avec array.reduce () code> et l'opérateur de propagation:
p>
['a', 'b', 'c'].reduce((acc, x) => ([...acc, x, x]), []);
Comme vous pouvez le constater que l'utilisateur est nouveau à la programmation. Ajout d'une explication à la réponse sera étonnée aux lecteurs op et futurs.
Merci, c'est un bon point, je vais ajouter plus d'explications
Utilisation de vanilla JavaScript:
p>
const ingredients = [ 'onions', 'tomatoes', 'garlic', 'fontina' ]
const ingredientsToRemove = [ 'onions', 'red pepper' ]
// Using Array.reduce method
const doubleIngredients = ingredients.reduce(
( array, ingredient ) =>
{
// If the ingredient has to be removed, return the array
// Else return the array with two times the current ingredient
return ingredientsToRemove.includes( ingredient ) ?
array
:
[ ...array, ingredient, ingredient ]
},
[]
)
console.log({ ingredients, doubleIngredients }) bien le problème ici est em> strong> p> nan code> em> stry> p> let arr = ['onions', 'tomatoes', 'garlic', 'fontina']
let output = arr.reduce((op,inp)=>(op.concat([inp,inp])),[])
console.log(output)
Utilisez Array.FlatMap () code> (non supporté par IE / Edge):
p>
const array = ['onions', 'tomatoes', 'garlic', 'fontina']; const result = array.flatMap(item => [item, item]); console.log(result)
chaîne code> * 2 ne vous retournera pas 2 cordes. Il retournera nan[Astuce]: Recherchez à l'aide d'utiliser
Tableau # push () code>deux fois dans votre boucle