Tengo una matriz de productos en la que varios productos pueden tener el mismo color y quiero poder ordenar esta matriz por el valor del color. ¿Cómo lograría una clasificación de matriz, por ejemplo, para mostrar primero todos los productos que tienen la propiedad de color "rojo"? O cualquier otro color que le diga a la matriz que ordene primero.
const arr = [ { name: "T-shirt", color: "red", price: 20 }, { name: "Shoes", color: "yellow", price: 20 }, { name: "Pants", color: "red", price: 20 }, { name: "Cap", color: "yellow", price: 20 }, { name: "Skirt", color: "red", price: 15 }, ]De esta manera, ordenará su matriz por color, si desea obtener el color amarillo en el primer retorno 1 y el rojo en el retorno 2 para tener en la posición 2, etc.:
const getRanking = (ele) => { if (ele.color == "red") return 2; if (ele.color == "yellow") return 1; }; arr.sort((a,b) => getRanking(a) - getRanking(b))