J'ai un objet avec des valeurs de numéro attribuées à des touches et je souhaite décrémenter chaque numéro à zéro afin que chaque touche a toutes les valeurs de cette plage, c'est-à-dire: P> obj2 = {a : 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
b : 5, 4, 3, 2, 1, 0
c : 6, 5, 4, 3, 2, 1, 0}
4 Réponses :
Vous pouvez créer une matrice d'entrées d'objet, puis utiliser p> réduire () code> pour créer l'objet de résultat: const obj1 = {
a: 10,
b: 5,
c: 6
};
const obj2 = Object.entries(obj1).reduce((a, [k, v]) => ({
...a,
[k]: Array(v + 1).fill(0).map(_ => v--)
}), {});
console.log(obj2);
Sainte Moly c'est incroyable. Merci, ça me conduisait fou !!
let obj1 = {
a: 10,
b: 5,
c: 6,
};
let obj2 = Object.fromEntries(Object.entries(obj1).map(([k, v]) => [k, [...Array(v)].map((_, i) => v - i)]));
console.log(obj2);
let obj1 = {a : 10, b : 5, c : 6}
let res = Object.entries(obj1).reduce((acc, cur) => {
return Object.assign(acc, {[cur[0]]: Array.from(Array(cur[1]+1).keys()).reverse().join()})
}, {})
console.log(res)Voici une solution beaucoup plus simple:
{
a: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
b: [5, 4, 3, 2, 1, 0],
c: [6, 5, 4, 3, 2, 1, 0],
}
obj2 code> n'est pas valide. Chaque valeur doit être une matrice, par ex.A: [10, 9, 8, ...], B: [5, 4, 3, ...] code>. En ce qui concerne l'objectif, vous avez mentionné que vous avez fait plusieurs tentatives; Pouvez-vous s'il vous plaît les partager? Nous préférerions grand chose à déboguer votre code existant par opposition à l'écrire à partir de zéro.