-2
votes

Créer un tableau d'objets en duplication

Écrivez une fonction qui prend l'entrée suivante et renvoie une maquette d'objets (de longueur 10) par objet de duplication en incrémentant son identifiant;

Le visible doit être vrai pour la sortie [0] et FALSE pour rester. xxx


3 commentaires

Nice, pouvez-vous poster du code, s'il vous plaît? Nous serons heureux d'aider


Les questions demandant une aide aux devoirs doivent inclure un résumé du travail que vous avez effectué jusqu'à présent pour résoudre le problème et une description de la difficulté que vous avez la résolution. Veuillez lire Comment demander des questions sur les devoirs et edit Votre message.


const sortie = entrée => array.from ({longueur: 10}, index => index === 0? entrée: objet.assign ({}, entrée, {visible: false, id: index}); console.log (sortie (entrée));


3 Réponses :


2
votes

Vous pouvez créer un tableau de 10 éléments, remplissez-le avec 0 code> (ou quoi que ce soit, le remplissage vient d'activer l'itération), puis mapper code> sur elle et renvoie une copie du Entrée avec l'ID souhaité sur chaque itération:

EDIT: strong> Mise à jour pour inclure la logique pour visible code> (manqué sur le premier message) p>

const input = { id: 0, visible: true, width: 200, height: 200 };

const output = Array(10).fill(0).map((x, id) => ({...input, visible: id === 0, id}));

console.log(output)


2 commentaires

array.from ({longueur: 10}, (x, id) => ({... entrée, visible: id === 0, id})); est la version la plus courte et plus vite


Belle amélioration!



0
votes

Voici mon projet, cependant, si vous avez l'intention d'obtenir une bonne réponse, vous devriez également nous montrer ce que vous avez essayé et où vous êtes resté coincé avant de nous demander de passer notre temps à tout faire pour vous.

const mock = {
    id: 0,
    visible: true,
    width: 200,
    height: 200
}

let mockArr = [];

for (i = 0; i <= 10; i++) {
    mockArr.push({
        ...mock,
        visible: i === 0,
        id: i
    })
}
console.log(mockArr)


0 commentaires

0
votes

Ma proposition ...

p>

let input = { id: 0, visible: true,  width: 200, height: 200 }

let output = [];

for (let i=0; i<10; i++) {
  output.push( Object.assign({}, input, { id: i, visible:(i===0) }) )
}
	
console.log(output);


0 commentaires