Попытка отсортировать пользовательский объект JavaScript

Я не слишком хорош в JS, но до сих пор выжил. Я создаю сложный JS-объект и хочу его отсортировать. Структура объекта выглядит следующим образом:

cart.attributes = [
  {
    Attribute,
    Value
  }
  ...
];

Я создаю уникальный атрибут, который сообщает мне 3 вещи, произвольно разделенные двоеточием:
(Идентификатор продукта) :( Итератор QTY продукта) :( Имя атрибута)
Итератор QTY продукта просто означает, если у меня есть 3 одинаковых продукта, о каком из 3 я говорю с точки зрения атрибута. Каждый атрибут имеет значение.

ЭТА ПРОБЛЕМА Как вы увидите из распечатки, организации нет. Я хотел бы отсортировать эти результаты сначала по (Product ID), затем (QTY Iterator), а затем по алфавиту (Name).

Вот распечатка объекта с использованием следующего метода, чтобы распечатать его, а затем результаты.

ИСПОЛЬЗОВАНИЕ КОДА ДЛЯ РЕЗУЛЬТАТОВ ПЕЧАТИ

$.each(cart.attributes, function(attr, value) {
  console.log("Attr: "+attr);
  console.log("Value: "+value);
});

РЕЗУЛЬТАТЫ

«Attr» 46913872:2:Size
«Value» 10
«Attr» 46913872:2:Hollow-to-Hem
«Value» 57"
«Attr» 46913872:1:Hips
«Value» 34"
«Attr» 46913872:2:Bust
«Value» 34"
«Attr» 46913872:2:Dress Color (hex)
«Value» #FFFFFF
«Attr» 46913872:2:Rush Cut
«Value» Super Rush Cut - 6 weeks
«Attr» 46913872:1:Extra Length
«Value» 5"
«Attr» 46913872:2:Hips
«Value» 34"
«Attr» 46913872:1:Waist
«Value» 29"
«Attr» 46913872:2:Waist
«Value» 23"
«Attr» 46913872:2:Dress Color (name)
«Value» White
«Attr» 46913872:1:Rush Cut
«Value» Super Rush Cut - 6 weeks
«Attr» 46913872:1:Sash Color (name)
«Value» Lipstick
«Attr» 46913872:2:Sash Color (hex)
«Value» #000000
«Attr» 46913872:1:Size
«Value» 14
«Attr» 46913872:1:Hollow-to-Hem
«Value» 58"
«Attr» 46913872:1:Bust
«Value» 35"
«Attr» 46913872:1:Sash Color (hex)
«Value» #B6064C
«Attr» 46913872:1:Dress Color (hex)
«Value» #F9C8D0
«Attr» 46913872:1:Dress Color (name)
«Value» Tea Rose
«Attr» 46913872:2:Extra Length
«Value» 5"
«Attr» 46913872:2:Sash Color (name)
«Value» Black

Ответы на вопрос(5)

Ваш ответ на вопрос