J'ai ce tableau et j'essaie d'obtenir le nombre d'objets avec le même nom nom code>. Comment puis-je atteindre cela? Peut-être dans la manière moderne "ES6"
let cars = [
{id: 1, name: 'Mercedes', year: '2015'},
{id: 2, name: 'Mercedes', year: '2000'},
{id: 3, name: 'BMW', year: '2010'},
{id: 4, name: 'BMW', year: '2004'},
{id: 5, name: 'Volvo', year: '2012'},
{id: 6, name: 'Volvo', year: '2014'}
];
4 Réponses :
let counterObj = {} let cars = [ {id: 1, name: 'Mercedes', year: '2015'}, {id: 2, name: 'Mercedes', year: '2000'}, {id: 3, name: 'BMW', year: '2010'}, {id: 4, name: 'BMW', year: '2004'}, {id: 5, name: 'Volvo', year: '2012'}, {id: 6, name: 'Volvo', year: '2014'} ]; for (property of cars){ counterObj[property.name] = 1 + (counterObj[property.name] || 0) } console.log(counterObj) This should do the trick!
Voici une solution pour vous:
let cars = [ { id: 1, name: "Mercedes", year: "2015" }, { id: 2, name: "Mercedes", year: "2000" }, { id: 3, name: "BMW", year: "2010" }, { id: 4, name: "BMW", year: "2004" }, { id: 5, name: "Volvo", year: "2012" }, { id: 6, name: "Volvo", year: "2014" }, ]; let numbers = cars.reduce((acc, child) => { if (!acc[child.name]) { acc[child.name] = 0; } acc[child.name]++; return acc; }, {}); console.log(numbers);
let cars = [ {id: 1, name: 'Mercedes', year: '2015'}, {id: 2, name: 'Mercedes', year: '2000'}, {id: 3, name: 'BMW', year: '2010'}, {id: 4, name: 'BMW', year: '2004'}, {id: 5, name: 'Volvo', year: '2012'}, {id: 6, name: 'Volvo', year: '2014'} ]; let obj = {} cars.forEach((item) => { console.log(obj[item.name]) if (!obj[item.name]) { obj[item.name] = 1; } else { obj[item.name] += 1; } }) console.log(obj)
Vous pouvez utiliser une fonction simple p> Réduire code>, qui ira déterrerait sur chaque objet et ajoute un au comte
let cars = [
{ id: 1, name: "Mercedes", year: "2015" },
{ id: 2, name: "Mercedes", year: "2000" },
{ id: 3, name: "BMW", year: "2010" },
{ id: 4, name: "BMW", year: "2004" },
{ id: 5, name: "Volvo", year: "2012" },
{ id: 6, name: "Volvo", year: "2014" }
];
let count = cars.reduce((acc, child) => {
acc[child.name] = (acc[child.name] || 0) + 1;
return acc;
}, {});
console.log(count);
Vous pouvez rechercher l'utilisation de la méthode Array.Reduce. Voir développeur.mozilla.org/en-us / Docs / Web / JavaScript / Référence / ...
Est-ce que cela répond à votre question? Compter des occurrences de valeur de propriété particulière dans la matrice d'objets a>