【发布时间】:2011-03-23 00:49:51
【问题描述】:
我不太擅长 JS,但到目前为止我还挺过来了。我正在创建一种复杂的 JS 对象并想要对其进行排序。对象的结构如下所示:
cart.attributes = [
{
Attribute,
Value
}
...
];
我正在创建一个独特的属性,它告诉我用冒号任意分隔的 3 件事:
(产品 ID):(产品数量迭代器):(属性名称)
产品数量迭代器只是意味着,如果我有 3 个相同的产品,我在属性方面谈论的是 3 个中的哪一个。每个属性都有一个值。
问题正如您从打印输出中看到的那样,没有组织。我想先按(产品 ID)对这些结果进行排序,然后按(数量迭代器),然后按(名称)的字母顺序。
这是一个打印出来的对象,使用下面的方法打印出来,然后是结果。
用于打印结果的代码
$.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
【问题讨论】:
标签: javascript arrays sorting object