Neste artigo você vai ver a melhor maneira de somar propriedade de array de objetos, ou seja, somar os itens de um objeto pelo nome da propriedade em JavaScript

somar propriedade de array de objetos capa

Fala programador(a), beleza? Bora aprender mais sobre arrays de objetos em JavaScript!

O método que é utilizado para reduzir uma propriedade a um valor único é o reduce

Ele será a base para percorrer o array e procurar a propriedade alvo, e depois somá-la

Vamos criar também uma pequena função que vai deixar o código mais dinâmico, ela vai receber dois parâmetros:

  • arr: array alvo;
  • key: qual a propriedade queremos somar;

A partir disso já é possível somar todos os itens específicos do array de objetos

Veja o exemplo em código:

const users = [
	{name: "Matheus", salary: 4000},
  {name: "João", salary: 2000},
  {name: "Carla", salary: 10000}
]

function arrayOfObjectsSum(arr, key) {
	return arr.reduce((a, b) => a + (b[key] || 0), 0);
}

const salarySum = arrayOfObjectsSum(users, "salary")

console.log(salarySum)

No caso acima estamos somando salários de usuários

A propriedade salary dentro do array de users que nos interessa

Ela é passada para a nossa função, junto com a lista original

E o retorno que nos é dado é a soma desta propriedade, que resulta em 16000 neste caso

Agora basta você colocar as suas variáveis e propriedades e terá a soma do valor que precisa!

Deixe um comentário contando o que achou deste artigo 🙂

Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:

Conclusão

No artigo de hoje você viu a melhor maneira de somar propriedade de array de objetos, na linguagem JavaScript

Utilizando o método reduce, que tem como objetivo reduzir vários valores a um só, nós reduzimos por meio de uma soma

Que é a soma da propriedade que está nos objetos do nosso array

Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments