Como filtrar um array de objetos em Javascript

Javascript

Como filtrar um array de objetos pelo atributo?

Nesse exemplo, temos um Array com vários produtos que filtraremos de acordo com a preferência do usuário, neste caso, preço.

Precisamos interagir neste conjunto para encontrar todos os produtos que correspondam à nossa condição. Há quatro produtos dentro desse array, e cada um deles é um objeto.

Vamos então filtrar qualquer item com preço acima de US$ 200, o resultado deve ser incluído dentro da novo array.

const products = [
    { productName: "Television", price: "1000", shipping: "35" },
    { productName: "Pendrive", price: "200", shipping: "7" },
    { productName: "Camera", price: "450", shipping: "15" },
    { productName: "Mouse", price: "120", shipping: "5" }
];

const filtered = products.filter((item) => {
    return item.price > 200;
});

console.log(filtered);


/*
[
    { productName: "Television", price: "1000", shipping: "35" },
    { productName: "Camera", price: "450", shipping: "15" }
]
*/

Como filtrar um array de objetos com base em múltiplos atributos?

Assim como fizemos no exemplo de cima, para filtrar o conjunto de objetos baseados em múltiplos atributos você ainda pode usar o método Javascript.filter(), a única diferença fica na função callback, que precisará de um pequeno ajuste.

const products = [
    { productName: "Television", price: "1000", shipping: "35" },
    { productName: "Pendrive", price: "200", shipping: "7" },
    { productName: "Camera", price: "450", shipping: "15" },
    { productName: "Mouse", price: "120", shipping: "5" }
];

const filtered = products.filter((item) => {
    return (item.price > 200 && item.shipping < 20);
});

console.log(filtered);

/*
[
    { productName: "Camera", price: "450", shipping: "15" }
]
*/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Comments